很遗憾,我无法将此HTTP重定向到HTTPS。我正在托管一个web应用程序,并使用PM2运行它,nginx充当反向代理。当我的位置/区块位于listen 80区块内时,我没有问题,但在使用letsencrypt certbot后,该网站无法加载。我在/var/log/nginx/errors.log中没有得到任何错误,但在/var/log/enginx/access.log中也没有访问记录。nginx语法测试通过。当我查看Chrome网络选项卡时,它只显示301重定向,并且标题是临时的。我在ufw上有80和443端口,nginx完全打开,使用ubuntu 20.04。我在这里错过了什么?在下面附上了我的网站,我有一个到网站的工作符号链接。
server {
listen 80;
listen [::]:80;
server_name www.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.example.com;
ssl_certificate /etc/letsencrypt/live/www.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/www.example.com/chain.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
location / {
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;
proxy_pass http://localhost:3000;
}
}
我运行该软件的虚拟服务器是我的雇主提供的谷歌云服务器,我最终猜测端口443被GCS防火墙阻止,这是正确的。以下是调整防火墙的说明:https://cloud.google.com/vpc/docs/using-firewalls