nginx實現虛擬主機ssl加密,註意此方法只能在公司內部使用
阿新 • • 發佈:2018-03-22
nginx 虛擬主機 ssl 實現虛擬主機ssl加密,註意此方法只能在公司內部使用
1,生成證書及私鑰
- 進入/etc/pki/tls/certs目錄 cd /etc/pki/tls/certs - 執行make +證書名,"註意:文件後綴很重要,輸入什麽將生成什麽文件" make a.crt #.crt後綴,會生成一個a.crt證書文件,a.key私鑰文件 "註意:這裏生成私鑰文件默認需要輸入密碼,如果不需要密碼有兩個辦法 ①,修改/etc/pki/tls/certs/Makefile文件 將%.key: umask 77 ; /usr/bin/openssl genrsa -aes128 $(KEYLEN) > $@ 中的"-aes128"刪掉 ②,就是私鑰文件生成之後輸入下面的命令將密碼刪掉 openssl rsa -in a.key -out aa.key"
2,修改配置文件
vim /etc/nginx/nginx.conf server { listen 443 ssl; root /nginx/html/; server_name www.a.com; index a.html; ssl on; ssl_certificate /etc/pki/tls/certs/a.crt; ssl_certificate_key /etc/pki/tls/certs/a.key; ssl_session_cache shared:sslcache:20m; ssl_session_timeout 10m; } 指令解析: ssl_certificate 指定證書文件路徑 ssl_certificate_key 指令私鑰文件路徑 ssl_session_cache off | none | [builtin[:size]] [shared:name:size]; - builtin[:size]: 使用OpenSSL內建緩存,為每worker進程私有 - [shared:name:size]: 在各worker之間使用一個共享的緩存 ssl_session_timeout time; 客戶端連接可以復用ssl session cache中緩存的ssl參數的有效 時長 ,默認5m
3,啟動nginx服務
①檢查配置文件 nginx -t 顯示下列信息表示配置文件沒有問題 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful ②啟動服務 systemctl start nginx systemctl enable nginx
4, 訪問測試,出現面的狀況就表示成功,註意https協議!
nginx實現虛擬主機ssl加密,註意此方法只能在公司內部使用