我有以下Nginx配置:
server {
listen 80;
server_name .example.net .example.com;
return 301 https://example.com$request_uri;
}
server {
listen 80;
server_name beta.example.com;
error_page 403 /403;
error_page 404 /404;
error_page 500 /500;
client_max_body_size 5M;
# Handle all locations
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 443;
ssl on;
ssl_certificate /etc/ssl/cert_chain.crt;
ssl_certificate_key /etc/ssl/csr.pem;
server_name example.com;
error_page 403 /403;
error_page 404 /404;
error_page 500 /500;
client_max_body_size 5M;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
我想将HTTP请求重定向到HTTPS但是我得到了一个重定向循环。我已经阅读了其他问题的其他答案,包括this one和this one,但他们的解决方案都没有解决我的问题。有任何想法吗?感谢。
答案 0 :(得分:0)
看起来您的后端(在127.0.0.1:8000上运行)会发出Location: http://example.com/
标题。
请查看访问日志,nginx和后端。
或使用httpliveheaders
或tcpdump
调查流量。