我的 nginx(1.20-alpine) 配置,以及文件位置:
/etc/nginx/conf.d/default.conf
access_log on;
server_tokens off;
server {
listen 80;
server_name _;
return 404;
}
/etc/nginx/conf.d/mysite.conf
server {
listen 80;
server_name a.domain.com;
...
}
server {
listen 443 ssl;
server_name a.domain.com;
ssl_certificate: xxx;
ssl_certificate_key: xxx;
...
}
server {
listen 80;
server_name b.domain.com;
...
}
server {
listen 80;
server_name c.domain.com;
...
}
只有 a.domain.com 配置了 SSL 证书,b 和 c 并没有证书,也不提供 https 服务。
这个配置下访问 http://a.domain.com ,https://a.domain.com ,http://b.domain.com ,http://c.domain.com 都很正常;
访问 https://b.domain.com 或 https://c.domain.com 时就不正常了(虽然浏览器提示风险但还是能点继续访问),会匹配到 a.domain.com 的 server ,也就是把 a.domain.com 的内容给代理出去。
添加一个配置处理 b 、a 的 https 请求,虽然有效但是感觉怪怪的;而且我不光只有 b 、c 还有很多 d 、e 、f...
#有效
server {
listen 443 ssl;
server_name b.domain.com c.domain.com;
return 404;
}
#无效
server {
listen 443 ssl;
server_name _;
return 404;
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.