究其根本原因,就是header少带了东西,我们给他带上就好了
server {
listen 8080;
server_name your.domain.com;
location / {
proxy_pass http://tomcat;
#proxy_params
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
2020年5月27日凌晨更新-----------------
在澳洲alfred线上测试环境,nginx出现了窜域名的现象
nginx_proxy容器在80端口监听
并且通过return 308 https://vhost.域名 的方式,强制http访问变为https
理论上的效果应该是这样的
只要我们在浏览器访问某个域名,那么就会命中nginx中对应的vhost配置,按照各自的规则转发
但这次遇到的情况却不对,是像下图的
查阅资料后得知是 没有配置主机头引起的,只要在proxy的时候带上主机头就好了,像笔记最前面介绍的为了解决js、css文件不加载做的配置一样就可以解决,其中关键配置句子是这个
proxy_set_header Host $http_host;