加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

如何配置NGINX SSL(SNI)

发布时间:2020-12-13 21:38:03 所属栏目:Nginx 来源:网络整理
导读:我有这个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;

我有这个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

NGINX服务器接收具有类似* .shared-hosting.xyz的模式的主机的请求,例如,website1.shared-hosting.xyz,website2.shared-hosting.xyz
以及具有不同域的变量主机,如my-custom-domain-demo.xyz或another-custom-domain-demo.xyz等.

现在的问题是较低的服务器NGINX配置会覆盖上层配置.有它,鞋面不再工作,
并访问* .shared-hosting.xyz返回证书错误,浏览器告诉证书仅适用于my-custom-domain-demo.xyz.

可以做些什么,以便较低的NGINX配置触发* .shared-hosting.xyz域,并且每个其他额外的服务器配置都不会触发
当主机采用* .shared-hosting.xyz模式时?

最佳答案
server_name _;是无关紧要的(在现代版本的nginx中不是必需的).如果找不到具有匹配listen和server_name的服务器,nginx将使用默认服务器.

在listen指令缺少default_server后缀的情况下,nginx将使用匹配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;
    ...
}

有关更多信息,请参见this document

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读