Nginx如何安裝https-ssl證書(shū)

今天待著想起騰訊云有免費(fèi)1年的SSL證書(shū),然后點(diǎn)擊了申請(qǐng),擦啊擦,原來(lái)申請(qǐng)不是域名不合法,就是審核不通過(guò),這次我的www.opqnext.com 居然破天荒了哎,秒過(guò)...

  • 那就開(kāi)始安裝吧

將域名 www.opqnext.com 的證書(shū)文件1 www.opqnext.com bundle.crt 、私鑰文件2_www.opqnext.com.key保存到同一個(gè)目錄,例如/usr/local/nginx/conf目錄下。

更新Nginx根目錄下 conf/nginx.conf 文件如下:

server {
        listen 443;
        server_name www.opqnext.com; #填寫(xiě)綁定證書(shū)的域名
        ssl on;
        ssl_certificate 1_www.opqnext.com_bundle.crt;
        ssl_certificate_key 2_www.opqnext.com.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照這個(gè)協(xié)議配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照這個(gè)套件配置
        ssl_prefer_server_ciphers on;
        location / {
            root   html; #站點(diǎn)目錄
            index  index.html index.htm;
        }
    }
配置文件參數(shù) 說(shuō)明
listen 443 SSL訪問(wèn)端口號(hào)為443
ssl on 啟用ssl功能
ssl_certificate 證書(shū)文件
ssl_certificate_key 私鑰文件
ssl_protocols 使用的協(xié)議
ssl_ciphers 配置加密套件,寫(xiě)法遵循openssl標(biāo)準(zhǔn)

然后 nginx -t 檢測(cè)配置文件 nginx -s reload 重啟nginx就OK了

我是這么想的,但是還是出現(xiàn)了問(wèn)題...

  • 問(wèn)題1:unknown directive "ssl"

報(bào)錯(cuò)如下:

nginx: [emerg] unknown directive "ssl" in /usr/local/nginx/conf/vhost/blog.com.conf:5
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed

出現(xiàn)這個(gè)錯(cuò)誤說(shuō)明沒(méi)有將ssl模塊編譯進(jìn)nginx,在configure的時(shí)候加上“–with-http_ssl_module”即可

詳細(xì)一點(diǎn):

####### 下載你當(dāng)前版本的nginx包,并且解壓 進(jìn)到目錄
./configure --with-http_ssl_module
####### 切記千萬(wàn)不要make install 那樣就覆蓋安裝了
make
####### 將原來(lái)的nginx備份 備份之前先kill當(dāng)前正在啟動(dòng)的nginx
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
####### make之后會(huì)在當(dāng)前目錄生成 objs 目錄
cp objs/nginx /usr/local/nginx/sbin/nginx
####### 然后重新啟動(dòng)nginx
/usr/local/nginx/sbin/nginx

  • 問(wèn)題2:http 轉(zhuǎn)到 https

據(jù)說(shuō)是有加rewrite的方法:

rewrite ^/(.*)$ http://domain.com/$1 permanent;

但是好像現(xiàn)在nginx新版本已經(jīng)換了種寫(xiě)法:

server {
    listen    80;
    server_name    www.opqnext.com;
    return    301 https://$server_name$request_uri;
}

server {
    listen    443 ssl;
    server_name    www.opqnext.com;

    [....]
}

反正這種方法挺好使,然后重啟 nginx 終于完成了!

兩個(gè)人的假期 - 痛仰樂(lè)隊(duì)

文章來(lái)源:郭貳小姐的博客-opqnext.com

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容