gpt4 book ai didi

使用 Nginx 在 Ghost 博客上进行 SSL 重定向和身份验证

转载 作者:太空宇宙 更新时间:2023-11-03 12:53:10 54 4
gpt4 key购买 nike

我在 DigitalOcean 上有一个关于 Ghost 的博客。同样由 ​​Nginx 提供,配置文件如下:

server {
listen 443 ssl;
server_name www.example.com;
return 301 $scheme://example.com$request_uri;
}

server {
listen 443 ssl;
server_name example.com;

ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

include snippets/ssl-params.conf;

location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:2825;
}
}

证书是使用 Let's Encrypt 生成的,适用于带 www 和不带 www 的域。在Ghost的config.js文件中,URL中写了取SSL的规则:https://example.com/问题是当我进入我的博客时,我的域没有 wwww,正确登录并使用 SSL,但是当我尝试使用 https://www.example.com 登录时我收到 SSL 证书身份验证错误。我真的不明白这里可能有什么问题。我需要在使用 www 进入我的域时重定向到该域,但没有 www。这个操作我之前在其他应用节点上做过,没有问题,配置代码同上。

最佳答案

我在周末的大部分时间里都在研究这种不便的解决方案,并设法找到了解决方案。Let's Encrypt 和 Nginx 中都没有错误,都指的是我的错误配置;然而,我不能停止认为这是一个奇怪的事情,而且我的解决方案可以改进甚至不用多说,这是我的 Nginx 配置文件:

server {
listen 80;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}

server {
listen 443 ssl http2;
server_name example.com www.example.com;

ssl on;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

include snippets/ssl-params.conf;

if ($http_host = www.example.com) {
return 301 https://example.com$request_uri;
}

location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://localhost:8080/;
proxy_ssl_session_reuse off;
proxy_set_header Host $http_host;
proxy_cache_bypass $http_upgrade;
proxy_redirect off;
}
}

为了避免拖拽错误,完全删除我的虚拟机并从头开始创建它,同时安装最新版本的 Debian Nginx,即 1.10.3,这使我能够使用 http2,这也是一个改进。

关于使用 Nginx 在 Ghost 博客上进行 SSL 重定向和身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42475762/

54 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com