Nginx搭建https服務器

Nginx搭建https服務器
HTTPS簡介
HTTPS(Hypertext Transfer Protocol over Secure Socket Layer),是以安全爲目標的HTTP通道,簡單來講就是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。
它是一個URI scheme(抽象標識符體系),句法類同http:體系,用於安全的http數據傳輸。https使用的默認端口是443.
SSL證書
證書類型簡介
要設置安全服務器,使用公共鑰創建一對公私鑰對。大多數情況下,發送證書請求(包括自己的公鑰),你的公司證明材料以及費用到一個證書頒發機構(CA).CA驗證證書請求及您的身份,然後將證書返回給您的安全服務器。
但是內網實現一個服務器端和客戶端傳輸內容的加密,可以自己給自己頒發證書,只需要忽略掉瀏覽器不信任的警報即可!
由CA簽署的證書爲您的服務器提供兩個重要的功能:
● 瀏覽器會自動識別證書並且在不提示用戶的情況下允許創建一個安全連接
● 當一個CA生成一個簽署過的證書,它爲提供網頁給瀏覽器的組織提供身份擔保。
● 多數支持ssl的web服務器都有一個CA列表,它們的證書會被自動接受。當一個瀏覽器遇到一個其授權CA並不在列表中的證書,瀏覽器將詢問用戶是否接受或拒絕連接
生成SSL證書

 openssl genrsa -des3 -out wangzhengyi.key 2048
openssl req -new -key wangzhengyi.key -out wangzhengyi.csr

創建一個自己簽署的CA證書

openssl req -new -x509 -days 3650 -key wangzhengyi_nopass.key -out wangzhengyi.crt

搭建https虛擬主機
虛擬主機配置文件

upstream sslfpm {
 server 127.0.0.1:9000 weight=10 max_fails=3 fail_timeout=20s;
}
server { 
 listen      192.168.1.*:443; 
 server_name  192.168.1.*; 
 
 #爲一個server開啓ssl支持
 ssl                  on;
  #爲虛擬主機指定pem格式的證書文件
 ssl_certificate      /home/wangzhengyi/ssl/wangzhengyi.crt; 
 #爲虛擬主機指定私鑰文件
 ssl_certificate_key  /home/wangzhengyi/ssl/wangzhengyi_nopass.key; 
 #客戶端能夠重複使用存儲在緩存中的會話參數時間
 ssl_session_timeout  5m;
 #指定使用的ssl協議 
 ssl_protocols  SSLv3 TLSv1; 
 #指定許可的密碼描述
 ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; 
 #SSLv3和TLSv1協議的服務器密碼需求優先級高於客戶端密碼
 ssl_prefer_server_ciphers  on;
 location / { 
  root  /home/wangzhengyi/ssl/;
  autoindex on;
         autoindex_exact_size    off;
         autoindex_localtime on;
 } 
     # redirect server error pages to the static page /50x.html
     #
     error_page  500 502 503 504  /50x.html;
     error_page  404 /404.html;
 location = /50x.html {
         root  /usr/share/nginx/www;
     }
   location = /404.html {
         root  /usr/share/nginx/www;
     }
    
     # proxy the PHP scripts to fpm
     location ~ \.php$ {
  access_log  /var/log/nginx/ssl/ssl.access.log  main;
  error_log /var/log/nginx/ssl/ssl.error.log;
  root /home/wangzhengyi/ssl/; 
  fastcgi_param HTTPS  on;
         include /etc/nginx/fastcgi_params;  
         fastcgi_pass    sslfpm;
     }
}

每次修改配置之後,需要完全重啓NGINX服務器。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章