Can't seem to get Caddy setup for my server and it's ports

1. Output of caddy version:

v2.5.2 h1:eCJdLyEyAGzuQTa5Mh3gETnYWDClo1LjtQm2q9RNZrs=

2. How I run Caddy:


a. System environment:

Linux Ubuntu 21.04

b. Command:

sudo systemctl start caddy

and using systemctl startup

c. Service/unit/compose file:

d. My complete Caddy config:

# The Caddyfile is an easy way to configure your Caddy web server.
# Unless the file starts with a global options block, the first
# uncommented line is always the address of your site.
# To use your own domain name (with automatic HTTPS), first make
# sure your domain's A/AAAA DNS records are properly pointed to
# this machine's public IP, then replace ":80" below with your
# domain name. {
	# Set this path to your site's directory.
	root * /usr/share/caddy

	# Enable the static file server.

	# Another common task is to set up a reverse proxy:
	# reverse_proxy localhost:8080

	# Or serve a PHP site through php-fpm:
	# php_fastcgi localhost:9000

# Refer to the Caddy docs for more information:
# {
    reverse_proxy localhost:8989
} {
    reverse_proxy localhost:8181

3. The problem I’m having:

Can't get my dedicated servers ports to go through Caddy and configure it to act as it should. Plus, after the initial setup and trying to make it work, Caddy's default page (the crooked page) no longer shows up at the main domain. I just get "The page isn’t redirecting properly. An error occurred during a connection to". Sorry I'm a bit new to this and have been setting it up and figuring my way through.

4. Error messages and/or full log output:

I have no idea how to do this. I enter " journalctl -u caddy --no-pager | less +G" and it gives me 10 walls of text that I cant highlight, copy, or paste.
Paste logs/commands/output here.

5. What I already tried:

I've tried restarts, reloads of the program, reinstalling caddy and reimplementing cloudflare and my domain

6. Links to relevant resources:

I used this guide to get to this point:

1 Like

Hi :wave:

Thanks for providing your actual domain name :slight_smile:

You seem to be using Cloudflare’s proxy service, so:

The redirect loop is happing due to a (imho) fairly insecure default called “Flexible SSL”, which sets how Cloudflare decides to connect to your upstream server.

See this very extensive post from 2018, which still applies to this date :sweat_smile:

But feel free to ask any further questions if you have any :innocent:


I thought I was supposed to link my domain :slight_smile: np. also thank you for responding!

thank you for providing that link, I will check it out and hope it fixes my problem. however I am curious, is the config file/caddyfile right? should it be working, the way its written? Im very new to most of this

thank you!

1 Like

ye, but some users just don’t, which makes helping them take more time than necessary and usually requires a lot of back and forth :woman_shrugging:

Your Caddyfile looks good :slight_smile:
You could, however, if you want to, remove the trailing :443, since Caddy defaults to that anyway (along with redirects from http:// to https://)
It doesn’t really matter though :innocent:

There is docs/automatic-https#effects, which explains that in more details if you are interested.

Welcome then :party:


lol thank you!!! :slight_smile:

I know this is going to be a bit silly of a question, but do you think its recommended to shut off cloudflares reverse proxy and not use the additional features, to make caddy work properly? or should I try to make it work with the steps shown in that post you linked? cause the first step in the caddy default page says “Point your domain’s A/AAAA DNS records at this machine.” so its kind of throwing me off lol

hello again! so I attempted disabling the A and CNAME records and I’m still dealing with the same thing :confused: althought the caddy default page is loading now, but no ports or anything. just redirects to the default

Just to clarify, there are two options (and it seems like you decided for the latter by now):

  1. Update how Cloudflare reaches your server in the SSL/TLSOverview sidebar and select Full (strict) and have your DNS entry’s Proxy status set to Proxied (orange cloud icon)
  2. Disable Cloudflare Proxy by having your DNS entry’s Proxy status set to DNS Only (gray cloud icon)

Your (A record) resolves correctly to your server and Caddy serves the index.html in /usr/share/caddy, as expected by your Caddyfile.
Both and, however, are CNAMEs and point to Porkbun’s redirect service, which by itself redirects to

❯ dog
A 2m05s

❯ dog
CNAME 3m14s   ""
    A    1m00s
    A    1m00s

❯ dog
CNAME 5m00s   ""
    A      1m00s
    A      1m00s

# http/307 and `Location:`
❯ curl -I
HTTP/1.1 307 Temporary Redirect
Server: openresty
Date: Sun, 31 Jul 2022 04:54:12 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 168
Connection: keep-alive
X-Frame-Options: sameorigin

You will have to remove those CNAMEs and instead create A records similar to the one in
Or you could keep that CNAMEs, but enter instead of

That DNS chance may or may not take a while until it is propagated (no longer cached).

I am I won’t be able to reply for a while as it’s getting late for me.
Maybe that points you in the right direction, though. Or someone else will jump in to respond while I am asleep :innocent:


Oh man, that worked and its up and running and I cant thank you enough! thank you so much <3

1 Like

I think you try to use cloudflares proxy. That means you have to use cloudflares certificate.
That enables cloudflare to decrypt all your traffic and send it over its revere proxy’s.
youre still using a Letsencrypt one

This topic was automatically closed after 30 days. New replies are no longer allowed.