lemzon201314
V2EX  ›  SSL

一台服务器如何配置多个 SSL 证书?

  •  
  •   lemzon201314 · Apr 6, 2017 · 8068 views
    This topic created in 3499 days ago, the information mentioned may be changed or developed.

    环境: LNMP vhost

    状态:已经在服务器上面搭建了两个不同顶级域名的网站,其中一个已经使用了 SSL ,现在想让第二个网站也 https 访问。

    按照这篇文章的方法

    https://baohua.me/middleware/nginx/nginx-single-ip-address-to-configure-multiple-ssl-certificates/

    现在是这样的

    [root@CentOs ~]# /usr/local/nginx/sbin/nginx -V

    nginx version: nginx/1.9.9

    built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)

    built with OpenSSL 1.0.1h 5 Jun 2014

    TLS SNI support enabled

    configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 --with-openssl=../openssl-1.0.1h/

    但是修改第二个网站的 conf 文件之后

    conf 如下:

    server

    {

    listen 80;
    
    server_name xxx.domain.com;
    
    return 301 https://xxx.domain.come$request_uri;
    

    }

    server

    {
    
        listen 443 ssl;
    
        #listen [::]:80;
    
    	ssl on;
    
        ssl_certificate /root/xxx.domain.com.crt;
    
        ssl_certificate_key /root/xxx.domain.com.key;  
     
        server_name xxx.domain.com;
    
        index index.html index.htm index.php default.html default.htm default.php;
    
        .....
    

    然后重启 Nginx 报错

    [root@CentOs ~]# service nginx restart

    Stoping nginx... nginx: [emerg] SSL_CTX_use_PrivateKey_file("/root/xxx.domain.com.key") failed (SSL: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch) failed. Use force-quit

    Starting nginx... nginx (pid 29963 29962) already running.

    21 replies  •  2017-04-08 10:12:45 +08:00
    lemzon201314
    lemzon201314
    OP
    Apr 6, 2017
    1
    求大佬指点, O(∩_∩)O 谢谢
    Pengg
    Pengg
    Apr 6, 2017
    2
    第二个 conf 配置:
    server{
    listen 443; # 去掉 ssl
    # ...
    }
    lemzon201314
    lemzon201314
    OP
    Apr 6, 2017
    3
    @Pengg 仍然不行
    fsgmhoward
    fsgmhoward
    Apr 6, 2017 via iPhone
    4
    他是告诉你 key 有问题 conf 没有问题
    lemzon201314
    lemzon201314
    OP
    Apr 6, 2017
    6
    @fsgmhoward 如何解决问题呢?谢谢
    ryd994
    ryd994
    Apr 7, 2017 via Android
    8
    确认格式正确
    不需要 ssl on ,这个选项已经官方废弃了
    zhihaofans
    zhihaofans
    Apr 7, 2017 via iPhone
    9
    证书有问题
    Showfom
    Showfom
    PRO
    Apr 7, 2017
    10
    @lemzon201314 问给你证书的人
    RobertYang
    RobertYang
    Apr 7, 2017 via Android
    11
    错误是证书错误啊,配置没问题
    49degree
    49degree
    Apr 7, 2017 via Android❤️1
    12
    要依照 域名证书 -> 中间证书 -> 根证书 的顺序串联为证书链,才能被绝大多数浏览器信任
    参考: https://doc.ssl.do/page/install-nginx/

    还有个坑, XP 永远只认服务器上第一个 SSL 证书
    satifanie
    satifanie
    Apr 7, 2017
    13
    证书合并的时候,应该把自己的域名签发的证书放到最上面,然后是中级 最后是根证书
    ryd994
    ryd994
    Apr 7, 2017 via Android
    14
    @49degree 这个应该和本问题无关
    就算浏览器不认, Nginx 还是认的
    lemzon201314
    lemzon201314
    OP
    Apr 7, 2017 via Android
    15
    现在是 Nginx 无法重启,而不是浏览器有问题
    lemzon201314
    lemzon201314
    OP
    Apr 7, 2017 via Android
    16
    证书错误是不是原来配置第一个 SSL 时,添加了权限?
    openssl rsa -in ssl.key -out /root/ssl.key
    chmod 600 /root/ssl.key
    是不是这里错了?
    lonelinsky
    lonelinsky
    Apr 7, 2017
    17
    X509_check_private_key:key values mismatch 报错是这个应该不是权限的问题,而是 key 和证书不匹配,看看是不是申请证书的 CSR 并不是用的这个 key ? 仅猜测
    lonelinsky
    lonelinsky
    Apr 7, 2017
    18
    openssl x509 -noout -modulus -in certificate.crt | openssl md5

    openssl rsa -noout -modulus -in privateKey.key | openssl md5

    可以用这个方法检验证书和 private_key 是否匹配,摘录自 @AirSc 提到的回答
    Rezark
    Rezark
    Apr 7, 2017
    19
    公私钥不匹配!
    lemzon201314
    lemzon201314
    OP
    Apr 7, 2017
    20
    现在我弄好了,
    我重新上传了.crt 和.key
    没有重命名,接着重启 nginx 就成功了,现在不明白是什么原因
    lemzon201314
    lemzon201314
    OP
    Apr 8, 2017
    21
    @lemzon201314 写好了笔记 多谢各位指点了 https://www.lemzon.me/index.php/archives/19/
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2824 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 00:35 · PVG 08:35 · LAX 16:35 · JFK 19:35
    ♥ Do have faith in what you're doing.