无法link域名转IP(不显示)
Can't link domain name to IP (Nothing displays)
我在 google 个域名上购买了一个域名 (http://qify.app)
打开 Chromium / Firefox 时我没有看到任何东西 (ERR_CONNECTION_REFUSED
)。
我当前的设置:
- 一台 EC2 AWS 机器 运行 我的 nodeJS 后端在 3000 端口(本地主机)
- 一个 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.217
和 curl 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;
}
.app TLD 有内置的 HSTS 政策,始终在任何 .app 域上使用 HTTPS。 Chrome 和 Firefox 以及其他几个浏览器都在其预加载的 HSTS 策略列表中包含 .app。这意味着这些浏览器将始终在端口 443 上以 https 开头。请参阅 https://blog.google/technology/developers/introducing-app-more-secure-home-apps-web/ 作为对此 https 要求的参考。
您显示的 nginx 配置文件表明它仅在端口 80 上侦听。这就是 curl http://qify.app
工作的原因,因为它使用端口 80,并且没有预加载的 HSTS 列表浏览器可以。
为您的域生成一个证书,并将 nginx 配置为侦听端口 443,您的浏览器将能够通过这种方式访问它。
我在 google 个域名上购买了一个域名 (http://qify.app)
打开 Chromium / Firefox 时我没有看到任何东西 (ERR_CONNECTION_REFUSED
)。
我当前的设置:
- 一台 EC2 AWS 机器 运行 我的 nodeJS 后端在 3000 端口(本地主机)
- 一个 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.217
和 curl 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;
}
.app TLD 有内置的 HSTS 政策,始终在任何 .app 域上使用 HTTPS。 Chrome 和 Firefox 以及其他几个浏览器都在其预加载的 HSTS 策略列表中包含 .app。这意味着这些浏览器将始终在端口 443 上以 https 开头。请参阅 https://blog.google/technology/developers/introducing-app-more-secure-home-apps-web/ 作为对此 https 要求的参考。
您显示的 nginx 配置文件表明它仅在端口 80 上侦听。这就是 curl http://qify.app
工作的原因,因为它使用端口 80,并且没有预加载的 HSTS 列表浏览器可以。
为您的域生成一个证书,并将 nginx 配置为侦听端口 443,您的浏览器将能够通过这种方式访问它。