【问题标题】:Nginx request times out from browser, but it works through postman or curlNginx 请求从浏览器超时,但它通过邮递员或 curl 工作
【发布时间】:2020-09-15 15:33:19
【问题描述】:
我可以通过邮递员和 curl 成功地 http 访问域:
http://bstevens.dev
curl -I http://bstevens.dev
背景:
  • 我遵循了 Digital Ocean Ubuntu 初始设置和 nginx 安装文档。

  • 我已经三重检查了步骤、权限设置和文件所有权,它与文档一致。

  • 根据文档的建议,对 /etc/nginx/nginx.conf 仅进行一处更改

  • server_names_hash_bucket_size 64;

  • 我还没有安装 Let's encrypt。

  • 我的droplet是ubuntu 20.04

  • 我按照 ufw 的设置说明进行操作

$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22/tcp (OpenSSH)           ALLOW IN    Anywhere                  
80/tcp (Nginx HTTP)        ALLOW IN    Anywhere                  
80/tcp                     ALLOW IN    Anywhere                  
22/tcp (OpenSSH (v6))      ALLOW IN    Anywhere (v6)             
80/tcp (Nginx HTTP (v6))   ALLOW IN    Anywhere (v6)             
80/tcp (v6)                ALLOW IN    Anywhere (v6)   

任何建议将不胜感激!

【问题讨论】:

    标签: http nginx browser connection-timeout ufw


    【解决方案1】:

    已解决

    我已经解决了这个问题,它是域名:bstevens.dev 任何以.dev 结尾的域名都使用HSTS 协议。

    HSTS is HTTP Strict Transport Security: a way for sites to elect to always use HTTPS.
    

    我在 nginx 和 ufw 中搜索此指令,但发现它内置于 .dev

    Every .dev domain is on the HSTS preload list, which makes HTTPS required on all connections.
    

    感谢 howard-roark 确认浏览器看到了 bstevens.dev 的 HTTPS 协议,并为我指明了使用 HSTS 的正确方向。

    【讨论】:

    • 很好,很有趣!
    【解决方案2】:

    看起来这是因为浏览器正在尝试通过 https 访问该站点。如果您打开“网络”选项卡,您可以看到:

    有一个示例here 可能适用。我认为您应该了解导致浏览器尝试通过 https 连接的原因。

    【讨论】:

    • 感谢您的链接。我注意到浏览器将 http 更改为 https 请求。是的,我的服务器上的某些东西正在触发浏览器执行此操作。希望尽快找到。
    猜你喜欢
    • 1970-01-01
    • 2015-08-11
    • 2020-05-18
    • 2015-09-02
    • 1970-01-01
    • 2016-10-23
    • 2019-10-02
    • 2020-07-10
    • 2018-05-10
    相关资源
    最近更新 更多