EDIT 1.5小时后:通过将以下代码添加到我的 app.yml 文件中的 hooks 部分来修复:
after_ssl:
# 告诉 letsencrypt 获取哪些额外的证书
- replace:
filename: "/etc/runit/1.d/letsencrypt"
from: /--keylength/
to: "-d mysite.me -d www.mysite.me -d forum.mysite.me --keylength"
- replace:
filename: "/etc/runit/1.d/letsencrypt"
from: /--fullchainpath/
to: "-d mysite.me -d www.mysite.me -d forum.mysite.me --fullchainpath"
EDIT2:忽略以下所有内容,但为以后的人保留。
完整上下文:Set up Let’s Encrypt with multiple domains / redirects - #136 by 45thj5ej
忽略所有打字错误
不确定这是否应该放在支持区,或者安装区,因为我已经远远超过了安装过程,所以如果位置不对,请道歉。所以…
我在 VPS 上托管 Discourse。Let’s Encrypt 已设置。我设置了 NGINX 来连接到我的论坛 URL。然后我将我的域提供商上的 DNS A 记录指向 Discourse VPS 的 IP。效果很好。但是,当我为 www.mysite.me 和 mysite.me 添加 CNAME 记录时,访问它们时会出现安全错误……我联系了我的域名提供商,他们启用了 SSL,他们说:
我不明白为什么会出现安全/无 HTTPS 问题,尽管我的域名提供商启用了 SSL(实际上根本不会被使用,因为他们不托管我的 Discourse 论坛),并且 Let’s Encrypt 在我的 Discourse VPS 上已启用。
我的 NGINX 设置如下:
after_web_config:
- replace:
filename: /etc/nginx/nginx.conf
from: /sendfile.+on;/
to: |
server_names_hash_bucket_size 64;
sendfile on;
- file:
path: /etc/nginx/conf.d/forumsredirect1.conf
contents: |
server {
listen 80;
server_name mysite.me;
return 301 $scheme://forums.mysite.me/landing$request_uri;
}
- file:
path: /etc/nginx/conf.d/forumsredirect2.conf
contents: |
server {
listen 80;
server_name www.mysite.me;
return 301 $scheme://forums.mysite.me/landing$request_uri;
}
- file:
path: /etc/nginx/conf.d/forumsredirect3.conf
contents: |
server {
listen 80;
server_name forum.mysite.me;
return 301 $scheme://forums.mysite.me$request_uri;
}
我的 DNS 设置是:
值得一提的是,直接的
forums.mysite.me 链接是 HTTPS/安全的。更奇怪的是,
https://forum.mysite.me(没有“s”)在桌面上显示不安全,而 https://www.mysite.me 在桌面上不显示不安全,但在移动设备上显示不安全……似乎是 CNAME 的问题……有点?
在使用 CNAME 的 SSL 检查器时,我得到:
“证书中的通用名称与输入的名称不匹配。您在浏览器中访问此站点时可能会收到错误。”
我哪里做错了?

