**
首先是key和csr生成的相關命令:
openssl req -new -newkey rsa:2048 -nodes -keyout site.key -out site.csr
過程中會有數個問題,分別填寫如下資訊:
問題說明
country name
國家**,用2個字母表示,比如cn
state or province name
省份,填寫全稱,可省略不填,比如jiangsu
locality name
城市,可省略不填,比如changzhou
organization name
組織名organizational unit name
組織單位名
common name
通用名,一般用網域名稱,比如sillydong.com
extra attribute
中還需要填寫乙個密碼和郵箱,密碼和郵箱均可以省略,不過郵箱填一下也沒啥損失。
生成的site.csr檔案中內容將用於申請證書,需要的時候直接用文字編輯器開啟後複製內容。
如果在nginx配置過程中直接使用上面的site.key,那就會在每次重啟nginx時要求輸入密碼才能繼續。這對自動化操作來是很不方便的,所以要生成乙個無密碼版本的key,使用下面的命令:
openssl rsa -in site.key -out site.nopass.key
在nginx中使用site.nopass.key可以免去每次輸入密碼的繁瑣步驟。
檢視csr檔案資訊命令:
openssl req -in site.csr -noout -text
檢視證書檔案資訊命令:
openssl x509 -in site.crt -noout -text
檢視證書fingerprint的命令:
openssl x509 -in site.crt -noout -fingerprint
接下來是證書及https驗證相關的命令:
openssl x509 -in site.crt -noout -subject
這個命令用來檢查證書的主體,可以檢視到證書的域
openssl x509 -in site.crt -noout -ocsp_uri
這個命令用來檢視證書的ocsp位址,比如godaddy的就是ocsp.godaddy.com
openssl ocsp -issuer gd_bundle-g2-g1.crt -cert site.crt -no_nonce -text -url -text -respout stapling_ocsp
這個命令可以將ocsp驗證結果寫入stapling_ocsp檔案,這個檔案可以直接使用在nginx的https配置中,並且使用檔案可以讓nginx不做網路請求驗證,直接使用此檔案中結果內容。
也是通過這種方式,將我本地生成的結果直接配置到伺服器上,才避開了伺服器無法請求到godaddy的ocsp位址的問題。
openssl s_client -connect sillydong.com:443 -status –cafile gd_bundle-g2-g1.crt -tl***tdebug < /dev/null 2>&1
openssl s_client -connect sillydong.com:443 -status –cafile gd_bundle-g2-g1.crt -tl***tdebug < /dev/null 2>&1 | grep -i "ocsp response"
這個命令執行之後,如果看到以下內容,那麼恭喜你,ocsp配置成功啦!
ocsp response:
ocsp response data:
ocsp response status: successful (0x0)
response type: basic ocsp response
拿到了stapling_ocsp檔案之後,nginx的配置過程就是相當簡單的。
cat site.crt gd_bundle-g2-g1.crt > combined.crt
不合成乙個檔案使用的話,在進行安卓或者ios開發中,呼叫https介面會報錯,比如ios上存在報-1002的情況,合成之後這個問題就可以解決。
nginx的全套ssl配置內容如下
ssl_certificate /home/certs/combined.crt;
ssl_certificate_key /home/certs/site.nopass.key;
ssl_protocols tlsv1 tlsv1.1 tlsv1.2;
ssl_ciphers ecdhe-rsa-aes256-sha384:aes256-sha256:high:!rc4:!md5:!anull:!enull:!null:!dh:!edh:!aesgcm;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:ssl:10m;
ssl_session_timeout 1d;
ssl_stapling on;
ssl_stapling_verify on;
ssl_stapling_file /home/certs/stapling_ocsp;
ssl_trusted_certificate /home/certs/gd_bundle-g2-g1.crt;
resolver 114.114.114.114 valid=300s;
resolver_timeout 1s;
add_header strict-transport-security "max-age=31536000";
這樣配置之後使用上面驗證ocsp的命令測試可以得到正確的結果。
總結一下,這個故事告訴我們,不要買godaddy的ssl!不要買godaddy的ssl!不要買godaddy的ssl!
nginx動態配置配置
nginx中的conf檔案配置測試 upstream backserver server upsync指令指定從consul哪個路徑拉取上游伺服器配置 upsync timeout配置從consul拉取上游伺服器配置的超時時間 upsync interval配置從consul拉取上游伺服器配置的間隔...
Nginx配置分析 nginx 二
基於網域名稱配置 在 conf nginx.conf中新增兩個虛擬主機配置 server server 配置host檔案,dns本地化 192.168.1.103 www.host1.com 192.168.1.103 www.host2.com 測試成功 埠配置在 conf nginx.conf中...
nginx 配置nginx集群(7)
1.準備兩台伺服器 且都安裝nginx 和keepalived 安裝keepalived yum install keepalived y安裝好後linux 的etc 資料夾下面會有keepalived資料夾以及配置檔案 2.修改keepalived的配置問價 virtual ipaddress3....