Nginx反向代理、Cloudflare全严格SSL与负载均衡器引发重定向循环问题求助
Nginx反向代理、Cloudflare全严格SSL与负载均衡器引发重定向循环问题求助
大家好,我最近碰到个棘手的重定向循环问题,折腾好半天没搞定,来这儿求助各位大佬!我的架构是Nginx反向代理前置,后面接Nginx负载均衡器,域名用Cloudflare解析,SSL模式开的是Full-strict,结果现在访问站点直接陷入重定向循环了。
先给大家理清楚我的整体架构:
- 域名:aarohisilks.com
- DNS:Cloudflare,A记录指向代理服务器的公网IP,SSL模式设置为Full-strict
- 代理服务器(Nginx):负责终止SSL连接,把流量转发到负载均衡器的80端口
- 负载均衡器(Nginx):将接收到的流量分发给后端业务服务器
下面是我代理服务器上的Nginx配置文件/etc/nginx/sites-available/reverse-proxy.conf的内容:
# Temporary configuration for ACME challenge server { listen 80; server_name ~^.*$; location /.well-known/acme-challenge/ { root /var/www/html; allow all; } location / { return 404; } } #Redirect HTTP to HTTPS for all domains server { listen 80; server_name ~^.*$; return 301 https://$host$request_uri; } # SSL configuration for proxy subdomain server { listen 443 ssl; server_name gateway.enlivendesigners.com; ssl_certificate ...; # 这里配置内容被截断了 # 后续SSL相关配置和转发逻辑还没贴全,但核心是转发到负载均衡器80端口 }
目前的问题就是,不管访问主域名还是代理子域名,都会触发重定向循环。我怀疑是不是Cloudflare的Full-strict模式和Nginx的SSL终止、转发逻辑之间有冲突?或者是负载均衡器那边的配置(我还没贴出来)也有问题?有没有大佬能帮我分析下可能的原因,或者给我点排查方向?
备注:内容来源于stack exchange,提问作者havishka




