Wordpress not working properly behind Reverse Proxy

1. The problem I’m having:

When having deployed Wordpress on a VM in a secure (private) environment behind a Caddy RP, Several things are not loaded properly

2. Error messages and/or full log output:

Mixed Content: The page at 'https://wp1.biteach.de/wordpress/wp-admin/setup-config.php' was loaded over HTTPS, but requested an insecure script 'http://wp1.biteach.de/wordpress/wp-includes/js/jquery/jquery.min.js?ver=3.7.1'. This request has been blocked; the content must be served over HTTPS.

3. Caddy version:

v2.7.6

4. How I installed and ran Caddy:

a. System environment:

Debian 12.4 on a Linux Container (LXC)
The system has two interfaces.
One is a public interface with a public IP
THe other is a privat 10.0.0.0 address pointing towards the webserver where wordpress is running on a ISPConfig machine. (Note: The ISPConfig is NOT the problem, I have a similar construct running on a PUBLIC vServer with no problems at all, and both systems are setup identically).

b. Command:

n/a

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.

:80 {
        # Set this path to your site's directory.
        root * /usr/share/caddy

        # Enable the static file server.
        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
}

wpdev.test.magiserv.de {
        reverse_proxy 10.172.2.113:8080
}

wp1.biteach.de {
        reverse_proxy http://10.172.2.113
}

wp2.biteach.de {
        reverse_proxy http://10.172.2.113
}

wp3.biteach.de {
        reverse_proxy http://10.172.2.113
}

wp4.biteach.de {
        reverse_proxy http://10.172.2.113
}

wp5.biteach.de {
        reverse_proxy http://10.172.2.113
}

wp6.biteach.de {
        reverse_proxy http://10.172.2.113
}

wp7.biteach.de {
        reverse_proxy http://10.172.2.113
}

wp8.biteach.de {
        reverse_proxy http://10.172.2.113
}

proobjekt.test.magiserv.de {
        reverse_proxy 10.172.2.113:80
        log {
                output file /var/log/caddy/proobjekt.test.magiserv.de.log
                level INFO
        }
}

5. Links to relevant resources:

Remove this from your config. You’re meant to replace this with your own config, not leave it in.

Sounds like WordPress isn’t reading the X-Forwarded-Proto header to know to produce paths with https:// instead of http://.

You’ll need to research how to fix that with WordPress. Not a Caddy issue.

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