【问题标题】:Can't link domain name to IP (Nothing displays)无法将域名链接到 IP(不显示)
【发布时间】:2021-09-24 06:17:51
【问题描述】:

我在 google Domains 上购买了一个域名 (http://qify.app) 打开 Chromium / Firefox 时,我没有任何结果 (ERR_CONNECTION_REFUSED)。

我目前的设置:

  • 在端口 3000 (localhost) 上运行我的 nodeJS 后端的 EC2 AWS 机器
  • 一个 nGinx 反向代理将所有入站端口 80 重定向到 3000(后端)当前 nginx 配置:/etc/nginx/sites-enabled/default
server {
   listen         80 default_server;
   listen         [::]:80 default_server;
   server_name    localhost;
   root           /usr/share/nginx/html;
  location / {
       proxy_pass http://127.0.0.1:3000;
       proxy_http_version 1.1;
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection 'upgrade';
       proxy_set_header Host $host;
       proxy_cache_bypass $http_upgrade;
   }
}

我也可以 curl 15.237.134.217curl qify.app 一样多(并获得正确的 html)

<!DOCTYPE html><html>
...
</html>

最终的 nginx 版本(为我工作,我需要两个服务器块)

server {
   listen               443 ssl http2 ipv6only=off;
   server_name          qify.app;

   ssl_certificate /etc/letsencrypt/archive/qify.app/fullchain.pem;
   ssl_certificate_key /etc/letsencrypt/archive/qify.app/privkey.pem;

   ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;

   keepalive_timeout    70;

   location / {
       proxy_pass http://127.0.0.1:3000;
       proxy_http_version 1.1;
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection 'upgrade';
       proxy_set_header X-Forwarded-For $remote_addr;
       proxy_set_header Host $host;
       proxy_cache_bypass $http_upgrade;
   }
}

server { # Redirects all port 80 to 443 (with a 301 redirect)
   listen [::]:80 http2 ipv6only=off;
   server_name qify.app www.qify.app;
   return 301 https://qify.app$request_uri;
}

【问题讨论】:

    标签: node.js express nginx amazon-ec2 proxy


    【解决方案1】:

    .app TLD 有一个内置的 HSTS 策略,始终在任何 .app 域上使用 HTTPS。 Chrome 和 Firefox 以及其他几种浏览器都将 .app 包含在其预加载的 HSTS 策略列表中。这意味着这些浏览器将始终以端口 443 上的 https 开头。请参阅 https://blog.google/technology/developers/introducing-app-more-secure-home-apps-web/ 作为此 https 要求的参考。

    您显示的 nginx 配置文件表明它仅侦听端口 80。这就是 curl http://qify.app 工作的原因,因为它使用端口 80,并且没有那些 Web 浏览器所做的预加载 HSTS 列表。

    为您的域生成一个证书,并配置 nginx 监听 443 端口,您的浏览器将能够通过这种方式访问​​它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-20
      • 2017-01-03
      • 2020-04-28
      • 2020-01-30
      相关资源
      最近更新 更多