Nginx配置https並自簽名證書
阿新 • • 發佈:2018-11-15
曾經iOS 為安全起見要求所有請求必須https,記錄專案中配置https過程。
# 生成一個RSA金鑰 openssl genrsa -des3 -out xgj.key 1024 # 拷貝一個不需要輸入密碼的金鑰檔案 openssl rsa -in xgj.key -out xgj_nopass.key # 生成一個證書請求 $ openssl req -new -key xgj.key -out xgj.csr 建立CA證書: openssl req -new -x509 -key xgj.key -out ca.crt -days 3650 # 自己簽發證書 $ openssl x509 -req -days 3650 -in xgj.csr -signkey xgj.key -out xgj.crt openssl x509 -req -days 3650 -in xgj.csr -CA ca.crt -CAkey xgj.key -CAcreateserial -out xgj.crt
在Nginx 配置證書檔案
Nginx conf檔案中配置server { listen 83 default_server; server_name localhost; access_log /data/logs/access.log main; ssl on; ssl_certificate /etc/nginx/conf.d/xgj.crt; ssl_certificate_key /etc/nginx/conf.d/xgj_nopass.key; #ssl_client_certificate /etc/nginx/conf.d/ca.crt;#雙向認證
#ssl_verify_client on; #雙向認證
location /api { proxy_pass http://127.0.0.1:189; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }}