主頁(yè) > 知識(shí)庫(kù) > nginx使用ssl模塊配置支持HTTPS訪問的方法

nginx使用ssl模塊配置支持HTTPS訪問的方法

熱門標(biāo)簽:阿里云 智能手機(jī) 網(wǎng)站建設(shè) 檢查注冊(cè)表項(xiàng) 使用U盤裝系統(tǒng) 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 硅谷的囚徒呼叫中心 美圖手機(jī)

默認(rèn)情況下ssl模塊并未被安裝,如果要使用該模塊則需要在編譯nginx時(shí)指定–with-http_ssl_module參數(shù).

需求:

做一個(gè)網(wǎng)站域名為 www.localhost.cn 要求通過https://www.localhost.cn進(jìn)行訪問.

10.10.100.8 www.localhost.cn

實(shí)驗(yàn)步驟:

1.首先確保機(jī)器上安裝了openssl和openssl-devel

#yum install openssl

#yum install openssl-devel 

2.創(chuàng)建服務(wù)器私鑰,命令會(huì)讓你輸入一個(gè)口令:

openssl genrsa -des3 -out server.key 1024 //生成私鑰 

#因?yàn)橐院笠onginx使用.每次reload nginx配置時(shí)候都要你驗(yàn)證這個(gè)PAM密碼的.由于生成時(shí)候必須輸入密碼,你可以輸入后 再刪掉。 

3.創(chuàng)建簽名請(qǐng)求的證書(CSR):

openssl req -new -key server.key -out server.csr //生成證書頒發(fā)機(jī)構(gòu),用于頒發(fā)公鑰 

4.在加載SSL支持的Nginx并使用上述私鑰時(shí)除去必須的口令:

cp server.key server.key.org

openssl rsa -in server.key.org -out server.key  //除去密碼以便reload詢問時(shí)不需要密碼 

5.配置nginx

最后標(biāo)記證書使用上述私鑰和CSR:

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 

6.修改Nginx配置文件,讓其包含新標(biāo)記的證書和私鑰:

#vim /usr/local/nginx/conf/nginx.conf 
http {
   include server/*.cn;
} 

7.修改Nginx配置文件,讓其包含新標(biāo)記的證書和私鑰: 

#vim /usr/local/nginx/server/www.localhost.cn

server { 

  listen  443;                  //監(jiān)聽端口為443 

  server_name www.localhost.cn; 

 

  ssl     on;            //開啟ssl 

  ssl_certificate  /etc/pki/tls/certs/server.crt;  //證書位置 

  ssl_certificate_key /etc/pki/tls/certs/server.key;  //私鑰位置 

  ssl_session_timeout 5m; 

  ssl_protocols SSLv2 SSLv3 TLSv1;       //指定密碼為openssl支持的格式 

  ssl_ciphers HIGH:!aNULL:!MD5;    //密碼加密方式 

  ssl_prefer_server_ciphers on;    //依賴SSLv3和TLSv1協(xié)議的服務(wù)器密碼將優(yōu)先于客戶端密碼 

 

  location / { 

   root html;      //根目錄的相對(duì)位置 

   index index.html index.htm; 

  } 

 } 

8.啟動(dòng)nginx服務(wù)器. 

#/usr/local/nginx/sbin/nginx -s reload //如果環(huán)境允許的話直接殺掉進(jìn)程在啟動(dòng)nginx 

如果出現(xiàn)“[emerg] 10464#0: unknown directive "ssl" in /usr/local/nginx-0.6.32/conf/nginx.conf:74”則說明沒有將ssl模塊編譯進(jìn)nginx,在configure的時(shí)候加上“--with-http_ssl_module”即可

如:[root@localhost nginx-1.4.4]# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module

9.測(cè)試網(wǎng)站是否能夠通過https訪問

https://www.localhost.cn

另外還可以加入如下代碼實(shí)現(xiàn)80端口重定向到443

server {
listen 80;
server_name www.localhost.cn;
#rewrite ^(.*) https://$server_name$1 permanent;
rewrite ^(.*)$ https://$host$1 permanent;
} 

過以下配置,可以設(shè)置一個(gè)虛擬主機(jī)同時(shí)支持HTTP和HTTPS

listen 80;
listen 443 default ssl; 

同時(shí)支持80和443同時(shí)訪問配置:

server {
 listen  80 default backlog=2048;
 listen  443 ssl;
 server_name www.localhost.com;
  #ssl on; //注釋掉
 ssl_certificate /usr/local/https/www.localhost.com.crt;
 ssl_certificate_key /usr/local/https/www.localhost.com.key;
 ssl_session_timeout 5m;
 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
 ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
 ssl_prefer_server_ciphers on; 

Nginx 設(shè)置忽略favicon.ico文件的404錯(cuò)誤日志(關(guān)閉favicon.ico不存在時(shí)記錄日志)

在 server { … }內(nèi)添加如下信息.

location = /favicon.ico {
log_not_found off;
access_log off;
} 

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:懷化 煙臺(tái) 山南 黃山 湖北 湘潭 賀州 通遼

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《nginx使用ssl模塊配置支持HTTPS訪問的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266