最近在研究nginx,整好遇到一個需求就是希望服務器與客戶端之間傳輸內容是加密的,防止中間監聽泄露信息,但是去證書服務商那邊申請證書又不合算,因為訪問服務器的都是內部人士,所以自己給自己頒發證書,忽略掉瀏覽器的不信任警報即可。下面是頒發證書和配置過程。
1、首先確保機器上安裝了openssl和openssl-devel
# yum install openssl
# yum install openssl-devel
2、生成證書
首先,進入你想創建證書和私鑰的目錄,例如: # cd /etc/nginx/ 創建服務器私鑰,命令會讓你輸入一個口令: # openssl genrsa -des3 -out server.key 1024 創建簽名請求的證書(CSR): # openssl req -new -key server.key -out server.csr 在加載SSL支持的Nginx並使用上述私鑰時除去必須的口令: # cp server.key server.key.org # openssl rsa -in server.key.org -out server.key
最后標記證書使用上述私鑰和CSR:
# openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
3、配置Nginx,讓其包含新標記的證書和私鑰
server { server_name YOUR_DOMAINNAME_HERE; listen 443; ssl on; ssl_certificate server.crt; ssl_certificate_key server.key; }
4、重啟nginx即可。