PLANET_08
PLANET_08
采纳率66.7%
2018-09-17 11:29 阅读 5.7k
已采纳

Nginx如何实现一个域名多个端口共用一个证书?

5
# http自动转https
server {
        listen 80;
        index index.php index.htm index.html; 
        server_name xxx.com www.xxx.com; #监听nginx所在服务器8080端口
        return 301 https://www.xxx.com$request_uri;
 }

#ssl证书配置
server {
        listen 443;
        server_name www.xxx.com;
        ssl on;     
        ssl_certificate  1_xxx.com_bundle.crt;
        ssl_certificate_key  2_xxx.com.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #按照这个套件配置
        ssl_prefer_server_ciphers on;
        location / {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_set_header X-NginX-Proxy true;
                #你的项目端口号
            proxy_pass http://127.0.0.1:8080/;
            proxy_redirect off;
        }
    }


server {
        listen 443;
        server_name www.xxx.com:8081;
        ssl on;
        ssl_certificate  1_xxx.com_bundle.crt;
        ssl_certificate_key  2_xxx.com.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #按照这个套件配置
        ssl_prefer_server_ciphers on;
        location / {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_set_header X-NginX-Proxy true;
                #你的项目端口号
                proxy_pass http://127.0.0.1:8081/;
                proxy_redirect off;
                }
        }

如上,我想要配置nginx的ssl证书,8080是我的项目,8081是tomcat图片服务器,现在8080已经有ssl证书了,但是8081没有,运这样配置nginx运行不起来,求解~有什么办法~

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    a331895809 a331895809 2018-09-18 04:35

    你的SSL的证书是泛域的(xxx.com),还是www.xxx.com的? 如果是www.xxx.com的SSL证书就不可以,是泛域的就没问题

    点赞 1 评论 复制链接分享
  • oyljerry oyljerry 2018-09-17 13:46

    你两个server都是listen的443端口,这冲突了啊。起码要不同的端口

    点赞 评论 复制链接分享
  • zqbnqsdsmd zqbnqsdsmd 2018-09-17 16:08

    参考:https://www.cnblogs.com/beyang/p/7718463.html
    经过测试,多个端口也是可以的。

    点赞 评论 复制链接分享

相关推荐