我还没有真正了解如何使用 certbot 为 nginx 创建(工作)证书。
我的网站启用现在看起来像这样:
首先,使用 SSL 阻止 www 域。所有 SSL 的东西都是由 certbot 创建的。
server {
root …
index …
server_name www.doman.com
listen 443 ssl;
ssl_certificate …
ssl_certificate_key …
include …
ssl_dhparam …
}
Run Code Online (Sandbox Code Playgroud)
在此之后,为 www 和非 www 从端口 80 重定向到端口 443。第一部分——if 语句——是由 certbot 创建的,而不是我。
server {
if ($host = www.example.com {
return 301 https://$host$request_uri;
}
listen *:80;
server_name domain.com www.example.com;
return 301 https://www.example.com$request_uri;
Run Code Online (Sandbox Code Playgroud)
}
最后,一个没有 www 的 443 块。我希望这重定向到 www。
server {
listen 443;
server_name www.domain.com
return 301 …Run Code Online (Sandbox Code Playgroud)