nginx 支持同一个ip 多个https域名

来源:互联网 发布:网络黑白免费阅读 编辑:程序博客网 时间:2024/06/08 11:00

最近在用业余时间做一个微信公众号的开发,微信公众号的消息接口支持443端口,就想着用https,显得专业。

配置了2个域名,weixin.axelahome.com和api.weixin.axelahome.com,前一个域名用于公众号内的页面的访问,后一个用于接口。

证书使用的是阿里云的免费证书(赛门铁克)。

按照以往的经验进行配置,先对域名weixin.axelahome.com进行配置,测试后可以访问,然后对api.weixin.axelahome.com配置,结果两个域名都无法访问。

经过排查,配置们问题,就上网搜索,结果发现nginx默认不支持对于同个ip绑定多个https域名,需要重新编译安装,打开“TLS SNI”支持才可以。

[root@iZ2zej2hch73fqzdqk61tbZ ~]# nginx -Vnginx version: nginx/1.13.0built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)built with OpenSSL 1.1.0e  16 Feb 2017TLS SNI support enabled
红色部分默认安装的时候是没有的。


以下为操作步骤
下载openssl

地址:https://www.openssl.org/source/openssl-1.1.0e.tar.gz

下载ginx

地址:http://nginx.org/download/nginx-1.13.0.tar.gz

分别解压缩在同一个目录

然后进入nginx-1.13.0目录

执行编译命令

 ./configure --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=../openssl-1.1.0e
红色部分就是openssl的解压缩目录

编译完成后执行安装

make & make install


没有指定目录,默认安装到/usr/local/nginx目录下

安装完成后重新设置即可正常访问。

注:

 在编译安装nginx的时候可能会出现pcre库没找到或zlib没找到,在CentOS下可以使用

yum -y install pcre-devel zlib-devel


阅读全文
0 0