无法通过 HTTPS 访问 Node.js 应用程序
Cannot reach Node.js application over HTTPS
我有一个 node.js 应用程序正在 运行 端口 3000 上。
在它前面我 运行 一个 nginx 反向代理。它适用于端口 80。我尝试使用 certbot 安装证书。现在我有了证书并设置我的代理以将所有非 HTTPS 流量重定向到 HTTPS,并在端口 443 上监听它并将我的连接传递到我的应用程序。不知何故,我的浏览器处于待处理状态,我不知道为什么。
这里我添加了 2 个服务器块:
server {
server_name mywebsite.at www.mywebsite.at;
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/mywebsite.at/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mywebsite.at/privkey.pem;
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;
}
}
server {
server_name mywebsite.at www.mywebsite.at;
listen 80;
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;
}
}
在这种情况下我可以输入http://mywebsite.at but i cant enter https://mywebsite.at。它说 "cant reach the website"。知道为什么会出现此错误吗?
我运行已经sudo nginx -t
没有错误了。
我找到了问题所在。我的 443 端口没有打开。 ufw allow 443
解决了这个问题。
我有一个 node.js 应用程序正在 运行 端口 3000 上。
在它前面我 运行 一个 nginx 反向代理。它适用于端口 80。我尝试使用 certbot 安装证书。现在我有了证书并设置我的代理以将所有非 HTTPS 流量重定向到 HTTPS,并在端口 443 上监听它并将我的连接传递到我的应用程序。不知何故,我的浏览器处于待处理状态,我不知道为什么。
这里我添加了 2 个服务器块:
server {
server_name mywebsite.at www.mywebsite.at;
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/mywebsite.at/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mywebsite.at/privkey.pem;
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;
}
}
server {
server_name mywebsite.at www.mywebsite.at;
listen 80;
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;
}
}
在这种情况下我可以输入http://mywebsite.at but i cant enter https://mywebsite.at。它说 "cant reach the website"。知道为什么会出现此错误吗?
我运行已经sudo nginx -t
没有错误了。
我找到了问题所在。我的 443 端口没有打开。 ufw allow 443
解决了这个问题。