我有这个NGINX配置如下:
# jelastic is a wildcard certificate for *.shared-hosting.xyz
server {
listen 443;
server_name _;
ssl on;
ssl_certificate /var/lib/jelastic/SSL/jelastic.chain;
ssl_certificate_key /var/lib/jelastic/SSL/jelastic.key;
}
# fullchain2 is a certificate for custom domain
server {
listen 443 ssl;
server_name my-custom-domain-demo.xyz www.my-custom-domain-demo.com;
ssl_certificate /var/lib/nginx/ssl/my-custom-domain-demo.xyz/fullchain2.pem;
ssl_certificate_key /var/lib/nginx/ssl/my-custom-domain-demo.xyz/privkey2.pem;
}
# additional configuration for other custom domains follows
Run Code Online (Sandbox Code Playgroud)
的NGINX服务器与具有类似的图案主机接收的请求*.shared-hosting.xyz
,例如website1.shared-hosting.xyz
,website2.shared-hosting.xyz
并且还与具有不同结构域样可变主机my-custom-domain-demo.xyz
或another-custom-domain-demo.xyz
等
现在问题是较低的server
NGINX配置会覆盖上层配置.拥有它,上层不再工作,并且访问*.shared-hosting.xyz
返回证书错误,浏览器告诉证书仅用于my-custom-domain-demo.xyz
.
可以做些什么,以便较低的NGINX配置触发*.shared-hosting.xyz
域,并且当主机处于模式时,其他所有其他服务器配置都不会触发*.shared-hosting.xyz
?
本server_name _;
是无关紧要的(在现代版本则不需要nginx
)。如果 aserver
与一个匹配listen
并且server_name
无法找到,nginx
将使用默认 server。
如果指令没有default_server
后缀listen
,nginx
将使用第一个server
具有匹配listen
.
如果您的配置分布在多个文件中,则评估顺序将不明确,因此您需要明确标记默认服务器。
试试这个jelastic
服务器块:
server {
listen 443 ssl default_server;
ssl_certificate /var/lib/jelastic/SSL/jelastic.chain;
ssl_certificate_key /var/lib/jelastic/SSL/jelastic.key;
...
}
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅此文档。
归档时间: |
|
查看次数: |
8113 次 |
最近记录: |