我在 Ubuntu20 上运行 Nginx,使用 proxy_pass 从https://example.com
到0.0.0.0:8000
,这是一个 docker 容器。当我点击时,https://example.com/literally/any/path/at/all
代理按预期工作,但是当我点击根路径时,https://example.com
我得到了 301 重定向到https://docker:8000
。我不明白为什么子路径可以正常代理,但根路径却被重定向。
我的 Nginx 网站配置:
upstream docker {
server 0.0.0.0:8000;
}
server {
listen 80;
server_name example.com www.example.com mail.example.com;
location /.well-known {
alias /ssl/well-known;
}
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
server_name example.com www.example.com mail.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/cert.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://docker;
}
}