HTTP请求生成"网络连接丢失" iPhone Safari / Chrome

时间:2017-09-19 03:05:24

标签: iphone nginx https basic-authentication

我最近在AWS的开发服务器上向一个临时子域部署了一个新的Web项目,虽然我可以使用多个不同的浏览器从我的Windows 10桌面加载登台站点,但我无法使用我的iPhone加载页面Safari或Chrome。此外,尝试通过将我的iPhone指向Fiddler HTTP代理来解决此问题导致页面加载。因此,直接来自iPhone的请求存在一些问题。在Safari中请求页面时,我看到"没有连接"错误:

Safari cannot open the page because the network connection was lost

这是一个看似不准确的消息,因为我可以通过拖尾访问日志来确认来自iPhone的请求是通过它进入Web服务器的。两个可能相关的信息:

1)我的Nginx配置302将非https流量重定向到https,如下所示:

server {
  listen 80;
  listen [::]:80;
  server_name www.example.com example.com;
  return 302 https://www.example.com$request_uri;
}

当我从iPhone请求该网站时,我可以看到我的nginx访问日志记录了请求并以302响应。

2)我使用基本身份验证来保护暂存站点:

auth_basic "Staging Site";
auth_basic_user_file /etc/nginx/.htpasswd;

iPhone上不会显示基本身份验证用户名/密码提示,也不会记录nginx的其他请求。

该网站由运行Ubuntu 14.04.5 LTS和Nginx 1.4.6的AWS免费层EC2实例提供服务。该应用程序通过proxy_pass连接到Nginx,并且是通过PM2运行的Node.js.

正如我上面提到的,使用Fiddler作为代理来调试请求/响应不起作用,因为启用所述代理会导致问题消失。我特别为这种奇怪的行为感到困惑。任何正确方向的点都将非常感激。

0 个答案:

没有答案