全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 5141|回复: 13
打印 上一主题 下一主题

[Windows VPS] 怎么才能让nginx支持TLS SNI???

[复制链接]
1#
发表于 2012-7-27 20:16:57 | 只看该作者
我按照这文章操作了下,怎么不行啊?


概述
传统的每个SSL证书签发,每个证书都需要独立ip,假如你编译openssl和nginx时候开启TLS SNI (Server Name Identification) 支持,这样你可以安装多个SSL,绑定不同的域名,可以共享同一个ip。



nginx支持TLS协议的SNI扩展(Server Name Indication,简单地说这个扩展使得在同一个IP上可以以不同的证书serv不同的域名)

较早前唯一的办法是签署一个通配证书,即 CNAME 中为 *.delphij.net 这样的证书,即采用的是泛域名的形式进行绑定。

但是对于不是泛域名的证书无法实现一个IP绑定多个证书。 下面讲到的TLS SNI技术可以实现一个IP绑定多个证书。
目的
使用https://ssl.15099.net和https://selfssl.15099.net 使用同一ip,可以配置https,测试环境:美国VPS+CentOS
编译openssl支持TLS SNI
cd /usr/src/
wget http://www.openssl.org/source/openssl-0.9.8l.tar.gz
tar zxvf ./openssl-0.9.8l.tar.gz
cd ./openssl-0.9.8l
./config enable-tlsext
make
make install
cd ..

编译nginx支持TLS SNI
cd /usr/src/
wget http://nginx.org/download/nginx-0.7.67.tar.gz
tar zxvf nginx-0.7.67.tar.gz
cd nginx-0.7.67

./configure \
--prefix=/usr \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx.pid  \
--lock-path=/var/lock/nginx.lock \
--user=nobody\
--group=nobody\
--with-http_stub_status_module\
--with-http_ssl_module \
--with-http_flv_module \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/tmp/nginx/client_temp/ \
--http-proxy-temp-path=/var/tmp/nginx/proxy_temp/ \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi_temp/  \
--with-openssl=../openssl-0.9.8l/

make
make install


查看现在nginx是不是支持了TLS SNI

[root@www ~]# nginx -V
nginx version: nginx/0.7.67
built by gcc 4.1.2 20080704 (Red Hat 4.1.2-48)
TLS SNI support enabled
configure arguments: --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock --user=nobody --group=nobody --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client_temp/ --http-proxy-temp-path=/var/tmp/nginx/proxy_temp/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi_temp/ --with-openssl=../openssl-0.9.8l/
[root@www ~]#
2#
 楼主| 发表于 2012-7-27 19:41:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 哈P哥 于 2012-7-27 20:16 编辑

同一台VPS上的网站只有一个网站能用SSL加密吗?我主域名用的SSL加密,现在二级域名也用SSL。现在二级域名的SSL能用。主域名的SSL却说不能用了。是不是冲突了?


3#
发表于 2012-7-27 20:21:38 | 只看该作者
元老……这就是元老……
4#
 楼主| 发表于 2012-7-27 20:23:15 | 只看该作者
本帖最后由 哈P哥 于 2012-7-27 20:46 编辑
Yorick 发表于 2012-7-27 20:21
元老……这就是元老……


等级是灌水升的。只是玩玩VPS扶墙。不吃这口饭和技术无关!
5#
发表于 2012-7-27 20:29:24 | 只看该作者
Does not work on Windows XP, even Internet Explorer 8.

评分

参与人数 1威望 +10 收起 理由
哈P哥 + 10 赞一个!

查看全部评分

6#
发表于 2012-7-27 20:30:31 | 只看该作者
alect 发表于 2012-7-27 20:29
Does not work on Windows XP, even Internet Explorer 8.

..............
7#
发表于 2012-7-27 20:30:45 | 只看该作者
你可以在申请证书时,多绑定域名,这样才能做到1 ip comes serveral domains tls.

评分

参与人数 1威望 +10 收起 理由
哈P哥 + 10 赞一个!

查看全部评分

8#
 楼主| 发表于 2012-7-27 20:34:52 | 只看该作者
360安全卫士 发表于 2012-7-27 20:30
你可以在申请证书时,多绑定域名,这样才能做到1 ip comes serveral domains tls.

免费的startcom证书可以这样啊?
9#
发表于 2012-7-27 20:35:38 | 只看该作者
买个泛解析ssl证书

评分

参与人数 1威望 +10 收起 理由
哈P哥 + 10 赞一个!

查看全部评分

10#
发表于 2012-7-27 20:35:57 | 只看该作者
哈P哥 发表于 2012-7-27 20:34
免费的startcom证书可以这样啊?

不可以,多个域名的、泛域名的,都需要付费的。

评分

参与人数 2威望 +25 收起 理由
唐伯虎 + 15 木有办法……
哈P哥 + 10 赞一个!

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-10-25 09:37 , Processed in 0.080855 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表