溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在Nginx服務(wù)器中配置https

發(fā)布時(shí)間:2021-04-12 17:22:59 來(lái)源:億速云 閱讀:152 作者:Leah 欄目:服務(wù)器

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)怎么在Nginx服務(wù)器中配置https,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

申請(qǐng)證書

目前網(wǎng)上有不少機(jī)構(gòu)提供個(gè)人免費(fèi) ssl 證書,有效期幾個(gè)月到幾年不等。以 StartSSL :https://www.startssl.com 為例, 申請(qǐng)成功后有效期 3 年,到期后可免費(fèi)續(xù)租。

具體申請(qǐng)過(guò)程也很簡(jiǎn)單。

注冊(cè)登錄以后選擇 Certificates Wizard >> DV SSL Certificate 申請(qǐng)一個(gè)免費(fèi)的 ssl 證書。

通過(guò)郵件驗(yàn)證域名之后,然后在自己服務(wù)器中生成 SSL 證書的 csr , 記住生成輸入的秘密 ,之后要用到:

openssl req -newkey rsa:2048 -keyout weizhimiao.cn.key -out weizhimiao.cn.csr

將生成的證書,放到指定的存放證書的目錄,如 /data/secret/ 。查看證書 weizhimiao.csr 內(nèi)容,將內(nèi)容復(fù)制到頁(yè)面中的 Certificate Signing Request (CSR)部分,提交頁(yè)面。

下載生成好的證書,選擇對(duì)應(yīng)的web服務(wù)器(Nginx,1_weizhimiao.cn_bundle.crt),這樣私鑰和公鑰我們就都有了。

  • 1_weizhimiao.cn_bundle.crt(公鑰)

  • weizhimiao.cn.key(私鑰)

 nginx配置(為指定域名增加https)

nginx.conf當(dāng)前配置

...
http {
 ...
 include /etc/nginx/conf.d/*.conf;

 server {
  ...
 }
}

./conf.d/weizhimiao.cn.conf中加入

server{
 listen 443 ssl;
 server_name weizhimiao.cn;

 ssl_certificate /data/secret/1_weizhimiao.cn_bundle.crt;
 ssl_certificate_key /data/secret/weizhimiao.cn.key;
 ssl_prefer_server_ciphers on;
 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

 ssl_ciphers 'kEECDH+ECDSA+AES128 kEECDH+ECDSA+AES256 kEECDH+AES128 kEECDH+AES256 kEDH+AES128 kEDH+AES256 DES-CBC3-SHA +SHA !aNULL !eNULL !LOW !MD5 !EXP !DSS !PSK !SRP !kECDH !CAMELLIA !RC4 !SEED';

 add_header Strict-Transport-Security 'max-age=31536000; preload';
 add_header X-Frame-Options DENY;
 ssl_session_cache shared:SSL:10m;
 ssl_session_timeout 10m;
 keepalive_timeout 70;
 ssl_dhparam /data/secret/dhparam.pem;

 add_header X-Content-Type-Options nosniff;

 add_header X-Xss-Protection 1;

 root /data/www/weizhimiao.cn;
 index index.html;

 location / {

 }
}

注:

配置中用到一個(gè) /data/secret/dhparam.pem 文件,該文件是一個(gè)PEM格式的密鑰文件,用于TLS會(huì)話中。用來(lái)加強(qiáng)ssl的安全性。生成該文件方法,

cd /data/secret/
openssl dhparam 2048 -out dhparam.pem

將原來(lái)80端口的訪問(wèn),重定向。./conf.d/weizhimiao.cn.conf中加入

server{
 listen 80;
 server_name weizhimiao.cn;
 return 301 https://weizhimiao.cn$request_uri;
}

測(cè)試

檢測(cè)配置文件是否有語(yǔ)法錯(cuò)誤,需要輸入之前生成公鑰時(shí)輸入的密碼。

nginx -t
Enter PEM pass phrase:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

重啟Nginx(切記,reload不起作用)

nginx -s stop
Enter PEM pass phrase:
nginx
Enter PEM pass phrase:

瀏覽器訪問(wèn) weizhimiao.cn ,是否生效。

另,Nginx配置了安全證書之后,nginx每次的reload、stop等操作都需要輸入密碼。

可以通過(guò)生成一個(gè)解密的key文件,替代原來(lái)key文件。

cd /data/secret/
openssl rsa -in weizhimiao.cn.key -out weizhimiao.cn.key.unsecure

替換 weizhimiao.cn.conf 中的 weizhimiao.cn.key 文件.

server {
 ...
 ssl_certificate /data/secret/1_weizhimiao.cn_bundle.crt;
 ssl_certificate_key /data/secret/weizhimiao.cn.key.unsecure;
 ...
}

之后每次在reload時(shí),就不需要在輸入密碼了。

最后,用 SSLLABS 來(lái)進(jìn)行一下測(cè)試。

怎么在Nginx服務(wù)器中配置https

結(jié)果

怎么在Nginx服務(wù)器中配置https

上述就是小編為大家分享的怎么在Nginx服務(wù)器中配置https了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI