nginx 配置多個 ssl 證書
-
在
usr/local/nginx/conf/
下,新增ssl
文件夾,專門存放ssl
證書 -
在server 中,以 443 端口監聽,並列寫多個server, 針對不同的server_name, 配置對應的ssl證書,
注意:記得針對非https的普通域名也要創建虛擬機【即創建單獨的server監聽端口】,否則只能訪問https下的域名
server { #SSL 訪問端口號為 443 listen 443 ssl; #填寫綁定證書的域名 server_name api.test1.com; #證書文件名稱 ssl_certificate ssl/1_api.test1.com_bundle.crt; #私鑰文件名稱 ssl_certificate_key ssl/2_api.test1.com.key; ssl_session_timeout 5m; #請按照以下協議配置 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #請按照以下套件配置,配置加密套件,寫法遵循 openssl 標准。 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } server { #SSL 訪問端口號為 443 listen 443 ssl; #填寫綁定證書的域名 server_name law.test2.com; #證書文件名稱 ssl_certificate ssl/1_api.test2.com_bundle.crt; #私鑰文件名稱 ssl_certificate_key ssl/2_api.test2.com.key; ssl_session_timeout 5m; #請按照以下協議配置 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #請按照以下套件配置,配置加密套件,寫法遵循 openssl 標准。 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location /api { proxy_pass https://api.test1.com; } location / { root /home/test2/webapp/api; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } # 這段不能少,否則無法監聽非 https 的 server server { listen 80; server_name api.test2.com; location /api { proxy_pass https://api.test1.com; } location / { root /home/test2/webapp/api; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }