coolaj86
(AJ ONeal)
November 15, 2025, 7:26pm
1
1. The problem I’m having:
I want to completely disable https because I’m running Caddy behind a TLS Router.
I’m not using caddy for http because it’s “the best tool for the job”, but rather because I don’t want to have to learn both caddy and nginx, and more and more frequently I’m using a layer 4 router to handle TLS, so I’m just using caddy because it’s the tool I’ve been using for years and already know.
The documentation specifies how to change the default port, but not how to globally disable it.
2. Error messages and/or full log output:
N/A
3. Caddy version, 4. How I installed: N/A
5. Links to relevant resources:
automatic_https, http_port, and https_port at
coolaj86
(AJ ONeal)
November 15, 2025, 7:33pm
2
Here’s my WORKING hacky-do workaround:
{
admin off
auto_https off
http_port 3080
https_port 0
}
:3080 {
log {
format console
}
respond <<TEXT
Hello, World!
TEXT
}
I suspect there is some sort of undocumented option and then I would be able to do something HYPOTHETICALLY more like this:
{
admin off
auto_https off
http_port 3080
https_port off
}
* {
log {
format console
}
respond <<TEXT
Hello, World!
TEXT
}
However off is not valid in this case, I assume 0 just picks a random port, and using * results in empty 200 OK messages.
Mohammed90
(Mohammed Al Sahaf)
November 15, 2025, 9:02pm
3
It’s simply
{
admin off
http_port 3080
}
http:// {
# stuff
}
2 Likes
coolaj86
(AJ ONeal)
December 10, 2025, 8:06pm
4
Confirmed working. Thank you.
1 Like
coolaj86
(AJ ONeal)
December 10, 2025, 8:10pm
5
Could we get that added to some documentation?
timelordx
(timelordx)
December 10, 2025, 11:02pm
6
I believe it’s already there:
At least that’s where I’ve been taking it from in all my examples:
Welcome to the Caddy club
Just a couple of notes:
That’s a very old document you’re referencing.
There’s a small typo in your config. It should be tls, not tsl.
HTTP only:
{
auto_https off
}
http://localhost {
respond "Hello HTTP world"
}
HTTPS with HTTP-to-HTTPS redirect and internal certificate
localhost {
tls internal
respond "Hello HTTPS world"
}
Separate HTTP and HTTPS with internal certificate:
{
auto_https disable_redirects
}
http://localhost …
1 Like