400-638-8808
|
微信公眾號




穩(wěn)定可靠 永不間斷

海外收發(fā) 暢通無阻

協(xié)同辦公 資源管理

超大郵件 超級功能

智能反垃圾郵件技術
易管理 免維護

Nginx SSL數(shù)字證書安裝指南
第一步:證書簽章要求 (CSR) 產(chǎn)生說明
安裝 openssl(加密工具)
# yum install mod_ssl openssl
產(chǎn)生證書私鑰和證書請求文件(CSR)

從Email地址開始,下面的信息都不需要,請保留為空,直接回車即可。在完成了如上的交互信息輸入后,當前目錄下將產(chǎn)生兩個文件:.key (公鑰) 和 .csr (私鑰)。請妥善保存這兩個文件,請不要泄露私鑰文件.
詳細介紹命令:
字段 說明 示例
Country Name ISO國家代碼(兩位字符) CN
State or Province Name 所在省份 Guangdong
Locality Name 所在城市。請勿使用縮寫,例如:Saint Louis, 而非 St. Louis Shenzhen
Organization Name 公司名稱。如果您的公司或部門名稱中有 &、@ 或其他使用 shift 鍵的符號,請拼出該符號或在注冊時省略此字元。例如:XY & Z Corporation 會是 XYZ Corporation 或 XY and Z Corporation ABC eCommerce Limited
Organizational Unit Name 部門名稱 IT Dept.
Common Name 申請證書的域名 www.abc.com
Email Address 不需要輸入
A challenge password 不需要輸入
驗證您的證書簽章要求
https://cryptoreport.websecurity.symantec.com/checker/
請確保 Signature algorithm: SHA256

提交CSR 給商服
請保管好key私鑰文件,提交CSR等待證書簽發(fā) .
第二步:安裝服務器證書
證書是審核完畢后您將會收到 ”服務器證書代碼”。中級CA證書代碼可透過服務商網(wǎng)頁下載。為保障保障服務器證書在客戶端的兼容性,服務器證書代碼 與 中級CA證書代碼 需要合并,再安裝服務器。舉例:服務器證書代碼 檔名為domain.crt 、中級CA證書代碼檔名為ca_intermediate.crt
domain.crt

ca_intermediate.crt

合并domain.crt 、ca_intermediate.crt 成上下段。域名證書在上,中級證書在下,中間不空行。
存為domain.crt

附錄:如何辨識中級證書
每張證書都會顯示發(fā)行者,如下:

以上例子有 Symantec Class 3 EV SSL CA – G3, GeoTrust SSL CA – G3, RapidSSL SHA256 – CA。這就是各個證書對應的中級證書。

所謂 “證書安全鏈” 就是結合秘鑰,域名證書,和中級證書,串連起來的加密鏈,確保加密數(shù)據(jù)的安全。
1、 修改nginx.conf文件
Nginx的參數(shù)配置都在nginx.conf文件中,SSL配置也是如此,下面就是配置舉例:
http {
server {
listen 443;
ssl on;
ssl_certificate /etc/nginx/certs/domain.crt;
ssl_certificate_key /etc/nginx/certs/server.key;
ssl_verify_depth 1;
keepalive_timeout 70;
}
}
配置參數(shù)說明如下:
在Nginx下的證書備份是非常簡單的,打開nginx.conf文件,找到ssl_certificate和ssl_certificate_key指定的2個文件,通常是.cer(.crt)和.key文件,將這兩個文件復制到備份媒質上即可。
listen 443:SSL協(xié)議監(jiān)聽的端口,SSL協(xié)議缺省使用443端口。
server_name:指定SSL網(wǎng)站主機名。
ssl on:SSL功能打開,采用SSL通信協(xié)議。
ssl_certificate:證書文件,server.crt
ssl_certificate_key:私鑰文件,server. key
ssl_verify_client on: 要求SSL客戶證書認證。
ssl on:SSL 功能打開,采用SSL通信協(xié)議。
ssl_verify_depth 1: SSL客戶證書認證鏈長度。
2、 重新啟動nginx
/etc/init.d/nginx restart 第三步:設置OCSP裝訂
OCSP (Online Certificate Status Protocol,在線證書狀態(tài)協(xié)議) 是維護服務器和其它網(wǎng)絡資源安全性的兩種普遍模式之一。OCSP裝訂(英語:OCSP Stapling),是一個TLS證書狀態(tài)查詢擴展,作為在線證書狀態(tài)協(xié)議的代替方法對X.509證書狀態(tài)進行查詢。服務器在TLS握手時發(fā)送事先緩存的OCSP響應,用戶只需驗證該響應的有效性而不用再向數(shù)字證書認證機構(CA)發(fā)送請求。
OCSP裝訂需求NGINX 1.3.7 版本或以上。
檢測Nginx版本
# nginx -v
3.1 設定
1. 配置OCSP裝訂指示,在nginx.conf 加入:
ssl_stapling on;
ssl_stapling_verify on;
2. 配置OCSP裝訂轉換機 (非強制)
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
3. 配置ssl_trust certificate 指示
為了通過OCSP裝訂審核,終端服務器需要先配置根證書和中級證書,指令如下:
ssl_trusted_certificate /etc/ssl/CA.crt
以上的 CA.crt 范例內(nèi)容包含所關聯(lián)根證書和中級證書。完整范例如下:
server {
listen 443 ssl;
server_name serverhostname;
ssl_certificate /etc/ssl/SSL_Cert.crt;
ssl_certificate_key /etc/ssl/cert_key.key;
ssl_trusted_certificate /etc/ssl/CA.crt
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
}
注意:若在服務器配置OCSP裝訂,終端服務器的OCSP請求必須默認允許連接到賽門鐵克OCSP服務器。若您的服務器是安裝在防火墻后端,則必須創(chuàng)建防火墻策略外接鏈接允許賽門鐵克OCSP。
使用Openssl工具驗證終端服務器ssl證書與賽門鐵克OCSP鏈接,請參考以下文檔:
https://knowledge.symantec.com/support/mpki-for-ssl-support/index?page=content&actp=CROSSLINK&id=HOWTO111088
保存nginx.conf檔并重啟 Nginx
/etc/init.d/nginx restart
3.2 驗證OCSP裝訂
只有 openssl 工具版本 0.9.8k或以上才能驗證OCSP裝訂。
# openssl s_client -connect yourdomain.com:443 -tls1 -tlsextdebug -status
范例顯示結果:
OCSP response:
======================================
OCSP Response Data:
OCSP Response Status: successful (0x0)
若顯示以上結果說明OCSP裝訂已經(jīng)配置成功,不成功則顯示:
OCSP response:
======================================
OCSP response: no response sent
另一個驗證是透過賽門鐵克官網(wǎng)https://cryptoreport.websecurity.symantec.com/checker/
OCSP裝訂將顯示 "Enabled" 或 "Not Enabled"

第四步:關閉不安全的加密方式 (cipher)
在提高網(wǎng)絡服務器的SSL證書部署優(yōu)化方面,我們通常建議系統(tǒng)管理員使用更加安全的加密套件,對于這一點,我們提出對常見的服務器支持的方案。
打開目錄下 nginx.conf 文件在配置文件中加入(適用于nginx 1.0.6+ 和 1.1.0+):
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_prefer_server_ciphers on;
ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
第五步:設置http自動跳轉到https
nginx配置SSL證書之后,配置如下:
server {
listen 80 default backlog=2048;
listen 443;
server_name domain.com;
root /var/www/html;
ssl on;
ssl_certificate /etc/nginx/certs/domain.crt;
ssl_certificate_key /etc/nginx/certs/server.key;
} http訪問的時候,報錯如下:
400 Bad Request
The plain HTTP request was sent to HTTPS port. Sorry for the inconvenience.
Please report this message and include the following information to us.
Thank you very much!
說是http的請求被發(fā)送到https的端口上去了,所以才會出現(xiàn)這樣的問題。
server {
listen 80 default backlog=2048;
listen 443 ssl;
server_name domain.com;
root /var/www/html;
# ssl on;
ssl_certificate /etc/nginx/certs/domain.crt;
ssl_certificate_key /etc/nginx/certs/server.key;
}
把ssl on;這行去掉,ssl寫在443端口后面。這樣http和https的鏈接都可以用,完美解決。
天下數(shù)據(jù)手機站 關于天下數(shù)據(jù) 聯(lián)系我們 誠聘英才 付款方式 幫助中心 網(wǎng)站備案 解決方案 域名注冊 網(wǎng)站地圖
天下數(shù)據(jù)18年專注海外香港服務器、美國服務器、海外云主機、海外vps主機租用托管以及服務器解決方案-做天下最好的IDC服務商
《中華人民共和國增值電信業(yè)務經(jīng)營許可證》 ISP證:粵ICP備07026347號
朗信天下發(fā)展有限公司(控股)深圳市朗玥科技有限公司(運營)聯(lián)合版權
深圳總部:中國.深圳市南山區(qū)深圳國際創(chuàng)新谷6棟B座10層 香港總部:香港上環(huán)蘇杭街49-51號建安商業(yè)大廈7樓
7×24小時服務熱線:4006388808香港服務電話:+852 67031102
本網(wǎng)站的域名注冊業(yè)務代理北京新網(wǎng)數(shù)碼信息技術有限公司的產(chǎn)品