无标题文档
wdCP系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用教程) wdCDN系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用手册)
wdOS系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用教程) wdDNS系统 (介绍,功能特性,运行环境,安装说明,演示,常见问题,使用手册)
注册 发贴 提问 回复-必看必看 wddns免费智能 DNS 开通 本地或虚拟机使 用wdcp 一键包在mysql编 译时"卡住"
【300G高防】双线 无视攻击 wdcp官方技术支持/服务 阿里云8折优惠券 无敌云 腾讯云优惠中,现注册更有260代金额券赠送
返回列表 发帖
提问三步曲: 提问先看教程/FAQ索引(wdcp,wdcp_v3,一键包)及搜索,会让你更快解决问题
1 提供详细,如系统版本,wdcp版本,软件版本等及错误的详细信息,贴上论坛或截图发论坛
2 做过哪些操作或改动设置等

温馨提示:信息不详,很可能会没人理你!论坛有教程说明的,也可能没人理!因为,你懂的

[分享] WDCP下的纯Nginx支持多域名ssl证书(TLS SNI support disabled)解决方案

本帖最后由 longyushen 于 2013-11-27 19:03 编辑

  WDCP下的纯Nginx支持多域名ssl证书(TLS SNI support disabled)解决方案

来本论坛搜索的时候,没有发现有任何的解决方案,发帖提问也没有人能及时回答,今天经过一天的百度和研究,终于搞定了,一下是我的具体操作过程,希望以后能帮得了大家

nginx如果编译的时候使用openssl如果没有添加enable-tl***t参数的话,就只支持一个ssl证书,因此要让nginx支持多域名证书就必须要重新编译opensslnginx


详细过程:

升级更改完nginx配置文件以后,使用/www/wdlinux/nginx/sbin/nginx  -t测试配置文件没有问题,就采用/www/wdlinux/nginx/sbin/nginx  -s reload重新加载配置文件,输入新域名的https访问竟然出现错误证书的提示,左键点击证书错误,选择查看证书,发现用的是另外一个域名的证书。反复检查后错误依旧。心中转念一想:是不是nginx只支持一个证书?带着这个问题,在baidugoogle上搜索了一下,还真的是这个问题,要让nginx支持多证书,nginx必须支持TLS SNI,使用命令/www/wdlinux/nginx/sbin/nginx  -V查看,服务器的查看结果如下:


  1. nginx version: nginx/1.4.4
  2. TLS SNI support disabled
  3. configure arguments: --prefix=/www/wdlinux/nginx --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module
复制代码

很明显,不支持TLS SNI,需要重新编译opensslnginx

接下来我们详细叙述一下能让nginx支持多域名证书的过程,主要分为如下两个大步骤:编译安装openssl和编译安装nginxnginx平滑升级,不影响业务)。

一、编译安装openssl


  1. wget http://www.openssl.org/source/openssl-0.9.8l.tar.gz
  2. tar zxvf ./openssl-0.9.8l.tar.gz
  3. cd ./openssl-0.9.8l
复制代码

#编译的时候需要加上enable-tl***t参数


  1. ./config enable-tl***t
  2. make
  3. make install
复制代码


二、编译安装nginxnginx平滑升级)


  1. tar xzvf nginx-1.4.4.tar.gz
  2. cd nginx-1.4.4
复制代码

#备份原来的nginx配置


  1. mv /www/wdlinux/nginx-1.4.4 /www/wdlinux/nginx_old
复制代码

#安装nginx


  1. ./configure --prefix=/www/wdlinux/nginx --with-http_ssl_module --with-http_gzip_static_module  --with-http_stub_status_module --with-openssl=../openssl-0.9.8l/make;make installcd /www/wdlinux/nginx
复制代码


#备份新安装的配置目录


  1. mv conf conf_bak
  2. mv logs logs_bak
复制代码


#拷贝原来的配置文件目录


  1. cp -ar /www/wdlinux/nginx_old/conf
  2. cp -ar /www/wdlinux /nginx_old/logs
复制代码


#测试配置文件


  1. /www/wdlinux/nginx/sbin/nginx -t
复制代码

#查找nginx主进程


  1. ps -ef | grep "nginx: master process" | grep -v "grep" | awk -F ' ' '{print $2}'
复制代码

#执行切换操作


  1. kill -USR2 23588
  2. kill -WINCH 23588
  3. kill -QUIT 23588
复制代码




安装完成使用
  1. /www/wdlinux /nginx/sbin/nginx  -V
复制代码
查看一下是否支持TLS SNI,检测如下:
  1. nginx version: nginx/1.4.4
  2. TLS SNI support enabled
  3. configure arguments: --prefix=/www/wdlinux/nginx --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module --with-openssl=../openssl-0.9.8l/
复制代码

这样显示已经支持了TLS SNI,在输入https访问,终于能显示正确的证书了! 注意目前如果使用xp上的IE去访问的话还是会提示证书有问题,因为xp上任何版本的IE都不支持TLS SNI

加精
看清提问三步曲及多看教程/FAQ索引(wdcp,v3,一键包,wdOS),益处多多.wdcp工具集 阿里云主机8折优惠码

TOP

提醒一下那个“enable-tl***t参数” 是 tlsext

TOP

返回列表