【发布时间】:2020-11-03 06:32:54
【问题描述】:
不幸的是,我无法让这个 HTTP 重定向到 HTTPS 工作。我正在托管一个 Web 应用程序并使用 PM2 运行它,而 nginx 充当反向代理。当我在监听 80 块内有我的位置/块时我没有问题,但是在使用letsencrypt certbot 后,该站点将无法加载。我在 /var/log/nginx/errors.log 中没有收到任何错误,但在 /var/log/nginx/access.log 中也没有访问记录。 Nginx 语法测试通过。当我查看 Chrome 网络选项卡时,它只显示 301 重定向并且标头是临时的。我使用ubuntu 20.04在ufw上完全打开了端口80和443以及nginx。我在这里想念什么?在下面附加了我的可用站点,并且我有一个指向已启用站点的有效符号链接。
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;
}
}
【问题讨论】:
-
访问
http://www.example.com和http://example.com时会发生什么 -
@ThanhNguyenVan 页面完全空白,只是尝试加载然后最终超时。最终是谷歌云服务器上有一个外部防火墙阻止了该端口,我无法访问该门户,因为该服务器是由我的雇主提供的。上面的 nginx 配置没有任何问题,所以我会继续发布,以防有人需要查看示例:)