nginx 对于 https 重定向的问题

2017-08-14 13:35:12 +08:00
 yuanfnadi
我现在的博客域名是 blog.diamondyuan.com 。然后证书是单域名的 blog.diamondyuan.com.
然后我把*.diamondyuan.com 都解析到了同一个主机。
```
server {
listen 443 ssl;
server_name *.diamondyuan.com;
rewrite ^ https://blog.diamondyuan.com$request_uri? permanent;
}

```
5584 次点击
所在节点    程序员
15 条回复
yuanfnadi
2017-08-14 13:35:56 +08:00
nginx 的配置如上。
现在用 chrome 访问会先报警一次,说是证书不对。然后点击继续访问才能成功跳转。
yuanfnadi
2017-08-14 13:37:02 +08:00
此服务器无法证明它是 uuu.diamondyuan.com ;其安全证书来自 blog.diamondyuan.com 。出现此问题的原因可能是配置有误或您的连接被拦截了。继续前往 uuu.diamondyuan.com (不安全)
点击继续后能成功跳转到 diamondyuan.com.
请问除了申请*.diamondyuan.com 的证书以外,还有什么好方法吗。
wizardoz
2017-08-14 13:38:31 +08:00
http 跳转到 https,要不然应该没有办法。
yuanfnadi
2017-08-14 13:40:57 +08:00
@wizardoz 我 http 已经全部跳转到 https 了。
server {
listen 80;
server_name *.diamondyuan.com;
return 301 https://$host$request_uri;
}

只是 xxx 跳转到 blog 会先遇到 chrome 的一次警告。
虽然一般没人会输入 xxx
xolor
2017-08-14 13:41:28 +08:00
uuu.diamondyuan.com 申请一个证书呀。
yuanfnadi
2017-08-14 13:44:08 +08:00
@xolor 纠结了一下,给 www 申请了一个。其他的警告就警告吧。
wizardoz
2017-08-14 13:46:05 +08:00
@yuanfnadi 我的意思是 http://*.diamondyuan.com 直接跳转到 https://blog.diamondyuan.com 啊。如果要先到 https://uuu.diamondyuan.com 这时候就算服务端返回 302,浏览器也觉得这个返回不安全啊。我觉得如果这个问题被你绕过去了,那就是浏览器的一个大 BUG
BOYPT
2017-08-14 13:48:17 +08:00
如果这也能给你绕过去,https 还有什么存在的意义?
alairs
2017-08-14 13:48:30 +08:00
我说说我的办法,我原来是 alair.cn ,现在是 unixetc.com 申请证书时包含 www.alair.cn alair.cn unixetc.com www.unixetc.com,然后才能在 nginx 中将其他三个 301 到 unixetc.com
blankme
2017-08-14 13:51:05 +08:00
换个思路:

设置 CNAME 记录,把*.diamondyuan.com alias 到 blog.diamondyuan.com
yuanfnadi
2017-08-14 13:53:50 +08:00
@wizardoz 有道理。问题解决了。
不去管输入 https://xxx.diamondyuan.com 的人了。
我一开始弄混了。
wizardoz
2017-08-14 14:05:16 +08:00
@blankme 改 CNAME 记录应该是行不通的,它最后只是得到了最终 IP,对于浏览器来说,域名还是 www 的域名,证书还是 blog 的证书,它还是要报错的。
kmdgeek
2017-08-14 19:19:09 +08:00
@yuanfnadi 你需要的是一个 *.diamondyuan.com 的泛域名证书。Let's Encrypted 好像明年开始提供泛域名证书。
lookas2001
2017-08-15 08:04:43 +08:00
@kmdgeek 求新闻出处,没找到。
zzzmode
2017-08-15 09:05:56 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/382789

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX