Nginx單IP地址配置多個SSL證書的方法示例
默認(rèn)情況下,Nginx一個IP地址僅支持一個SSL證書,需要多個IP地址才能配置多個SSL證書,在公網(wǎng)IP地址有限的情況下,可以使用TLS Server Name Indication extension(SNI, RFC 6066),它允許瀏覽器在SSL握手的時候發(fā)送請求的server name,也就是 Host,這樣 Nginx 就能找到對應(yīng)server 的SSL配置。
配置步驟如下:
1、檢查Nginx是否支持TLS
$ nginx -V ... TLS SNI support enabled ...
2、如果出現(xiàn)TLS SNI support disable,就得升級openssl版本,并且重新編譯nginx。
具體步驟如下:
首先下載openssl(建議下載1.0.1h版本)
#wget http://www.openssl.org/source/openssl-1.0.1h.tar.gz
下載Nginx
#wget http://nginx.org/download/nginx-1.9.9.tar.gz
解壓openssl
#tar -zxvf openssl-1.0.1h.tar.gz
解壓nginx,并編譯
#tar -zxvf nginx-1.9.9.tar.gz #cd nginx-1.9.9 #./configure --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/ #make && make install
#檢查Nginx版本信息
#/usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.9.9 built by gcc 4.1.2 20080704 (Red Hat 4.1.2-55) 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/
配置Vhost中的域名證書
server { ######### listen 80; listen 443 ssl; #listen [::]:80; server_name we.baohua.me; root /home/wwwroot/we.baohua.me; ssl on; ssl_certificate_key /home/wwwroot/cert/we.baohua.me.key; ssl_certificate /home/wwwroot/cert/we.baohua.me.crt; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; ############### }
然后,重啟Nginx即可。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Linux中Nginx的防盜鏈和優(yōu)化的實現(xiàn)代碼
今天是周末小編在值班哈,很開森,工作使我快樂,本文重點給大家介紹Linux中Nginx的防盜鏈和優(yōu)化問題及實現(xiàn)代碼,需要的朋友跟隨小編一起看看吧2021-06-06nginx中狀態(tài)統(tǒng)計的實現(xiàn)
本文主要介紹了nginx中狀態(tài)統(tǒng)計的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04