Subdomain forwarded to subdirectory

1. Caddy version (caddy version):

2

2. How I run Caddy:

docker-compose

a. System environment:

Docker version 20.10.12, build e91ed57

b. Command:

c. Service/unit/compose file:

d. My complete Caddyfile or JSON config:

*.user.demo.com:80 {
  @vlog host vlog.user.demo.com
   handle @vlog {
	rewrite * /vlog{path}
	reverse_proxy http://172.19.0.1:9000 {
		header_up X-Forwarded-Host {host}
		header_up Host {host}
	}
  @vlog1 host vlog1.user.demo.com
   handle @vlog1 {
	rewrite * /vlog1{path}
	reverse_proxy http://172.19.0.1:9000 {
		header_up X-Forwarded-Host {host}
		header_up Host {host}
	}
}

3. The problem I’m having:

Subdomain forwarded to subdirectory

nginx:

server {
    listen       80;
    server_name ~^([\w-]+)\.user\.demo\.com$;

    location / {
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        Host $http_host;
        proxy_set_header        X-NginX-Proxy true;
        proxy_pass              http://127.0.0.1:9000/$1$request_uri;
    }
}

4. Error messages and/or full log output:

5. What I already tried:

*.user.demo.com:80 {
  @vlog host vlog.user.demo.com
   handle @vlog {
	rewrite * /vlog{path}
	reverse_proxy http://172.19.0.1:9000 {
		header_up X-Forwarded-Host {host}
		header_up Host {host}
	}
  @vlog1 host vlog1.user.demo.com
   handle @vlog1 {
	rewrite * /vlog1{path}
	reverse_proxy http://172.19.0.1:9000 {
		header_up X-Forwarded-Host {host}
		header_up Host {host}
	}
..........
}

Is there a better way?

6. Links to relevant resources:

Which version, exactly? Run the caddy version command inside your container to find the version.

You can remove this, it’s redundant. Caddy already passes through the Host automatically.

You probably don’t need to set X-Forwarded-Host either because it’s already passed through via Host.

What are you asking, exactly? Is there a problem?

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