在Nginx中使用Godaddy的SSL證書


首先在Godaddy付款購買SSL證書,成功之后打開管理面板,找到剛購買的SSL證書,點擊新建證書,這個時候Godaddy會讓提供CSR文件內容,可以通過下面的命令行生成csr內容:

    openssl genrsa -des3 -out <name of your certificate>.key 2048
    openssl req -new -key <name of your certificate>.key -out <name of your certificate>.csr

將上面替換成真實的文件名,第一個命令行生成的是證書,在第二步的時候提示輸入一些信息,其中Common Name (e.g. server FQDN or YOUR name) 是需要使用的證書的域名。對於普通的DV(域名驗證) SSL證書 只需要保證CN(Common Name)字段填上你的域名即可,而對於高級的OV(組織驗證),EV(擴展驗證)證書都需要向CA提交相關資料。

將生成的csr文件內容復制粘貼到Godaddy的文本框中,提交之后會向域名所有人的郵箱發送一個域名驗證的鏈接,驗證成功之后就可以下載證書。Godaddy會提供兩個crt文件,一個是隨機字符串命名(如7d3ed5e3ef729196.crt),另一個以gd_bundle開頭(如gd_bundle-g2-g1.crt),需要執行下面的命令將這兩個文件合並成一個文件:

cat 7d3ed5e3ef729196.crt gd_bundle-g2-g1.crt > <name of your certificate>.csr

如果想在Nginx中使用需要Nginx支持SSL,可以參考 讓Nginx多個虛擬主機支持SSL 這篇文章。

將上面的key文件和合並后的csr文件放到nginx的conf/ssl目錄下,然后修改成如下設置:

server {
        listen 443;
        server_name www.examples.com;
        index index.php;
 
        ssl on;
        ssl_certificate ssl/domain.crt;
        ssl_certificate_key ssl/domain.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ALL:!ADH:!EXPORT56:!RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
        ssl_prefer_server_ciphers on; 

不過這樣設置之后,如果啟動Nginx的時候會要求輸入key證書的密碼,可以生成一個解密的key文件:

openssl rsa -in domain.key -out domain.key.unsecure

輸入證書的密碼就可以了,然后將上述的domain.key替換成domain.key.unsecure。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM