为什么 Nginx 只对移动设备给出 502 错误?
Why does Nginx give a 502 error only for mobile devices?
使用 Nginx,我收到错误:
Error 502 - Bad Request
The server could not resolve your request for uri: http://domain.name/file/path
奇怪的是,只有当我的 phone 使用手机运营商的数据时,我才会收到此错误。当我在 Wi-Fi 上使用我的 phone 或当我使用台式计算机时,服务器可以很好地提供一切服务。当我使用我的 iPad 通过 Wi-Fi 连接到我的 phone 并且我的 phone 充当移动热点时,它甚至可以工作。
502 错误代码表明 php-fpm 的反向代理或服务请求存在问题。这些我都不做。
因为这个错误只在特定情况下发生,我认为它必须与我的 phone 发送的请求有关。 (Nexus 5、Chrome、Android 棒棒糖)
我的 nginx.conf 和其他配置文件正在通过测试。我用过:
sudo nginx -t
它说 "the configuration file syntax is okay" 和 "configuration file test is successful."
可能发生了什么?
在对我的 Nginx 配置进行三重检查后,我想到了查看服务器 80 端口上的所有 tcp activity。
我安装了 tcpdump:
sudo apt-get install tcpdump
然后运行吧,只寻找80端口的tcp流量:
sudo tcpdump 'tcp port 80' -i eth0
我注意到所有其他流量只是 'IP',但是当我从我的 phone 发送请求时,它是 'IP6'。
我的服务器未启用 ipv6,但使用附加的侦听指令即可轻松解决此问题:
listen [::]:80;
使用 Nginx,我收到错误:
Error 502 - Bad Request
The server could not resolve your request for uri: http://domain.name/file/path
奇怪的是,只有当我的 phone 使用手机运营商的数据时,我才会收到此错误。当我在 Wi-Fi 上使用我的 phone 或当我使用台式计算机时,服务器可以很好地提供一切服务。当我使用我的 iPad 通过 Wi-Fi 连接到我的 phone 并且我的 phone 充当移动热点时,它甚至可以工作。
502 错误代码表明 php-fpm 的反向代理或服务请求存在问题。这些我都不做。
因为这个错误只在特定情况下发生,我认为它必须与我的 phone 发送的请求有关。 (Nexus 5、Chrome、Android 棒棒糖)
我的 nginx.conf 和其他配置文件正在通过测试。我用过:
sudo nginx -t
它说 "the configuration file syntax is okay" 和 "configuration file test is successful."
可能发生了什么?
在对我的 Nginx 配置进行三重检查后,我想到了查看服务器 80 端口上的所有 tcp activity。
我安装了 tcpdump:
sudo apt-get install tcpdump
然后运行吧,只寻找80端口的tcp流量:
sudo tcpdump 'tcp port 80' -i eth0
我注意到所有其他流量只是 'IP',但是当我从我的 phone 发送请求时,它是 'IP6'。
我的服务器未启用 ipv6,但使用附加的侦听指令即可轻松解决此问题:
listen [::]:80;