0x1 问题
某环境nginx在配置好proxy_pass反向代理外网地址后出现502的情况。但是telnet和curl测试都无问题。在查看error日志可以看到域名地址解析到了ipv6,直接导致502的出现。
0x2 解决
根据nginx的资料和检索的相似案例,尝试设置了参数 resolvoer ipv6=off
,但是仍然无效果。进一步搜索之后得知需要在系统级别禁用ipv6,修改sysctl.conf文件,如下:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
设置后再次重载nginx,测试反代地址正常。同时发现设置此参数后nginx的reload速度也加快,正常不到1秒,之前大概需要5秒左右。猜测是之前解析ipv6地址过慢导致。
评论