Nginx搭建https服務(wù)器教程
HTTPS簡介
HTTPS(Hypertext Transfer Protocol over Secure Socket Layer),是以安全為目標(biāo)的HTTP通道,簡單來講就是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎(chǔ)是SSL,因此加密的詳細(xì)內(nèi)容就需要SSL。
它是一個URI scheme(抽象標(biāo)識符體系),句法類同http:體系,用于安全的http數(shù)據(jù)傳輸。https使用的默認(rèn)端口是443.
SSL證書
證書類型簡介
要設(shè)置安全服務(wù)器,使用公共鑰創(chuàng)建一對公私鑰對。大多數(shù)情況下,發(fā)送證書請求(包括自己的公鑰),你的公司證明材料以及費(fèi)用到一個證書頒發(fā)機(jī)構(gòu)(CA).CA驗證證書請求及您的身份,然后將證書返回給您的安全服務(wù)器。
但是內(nèi)網(wǎng)實現(xiàn)一個服務(wù)器端和客戶端傳輸內(nèi)容的加密,可以自己給自己頒發(fā)證書,只需要忽略掉瀏覽器不信任的警報即可!
由CA簽署的證書為您的服務(wù)器提供兩個重要的功能:
- 瀏覽器會自動識別證書并且在不提示用戶的情況下允許創(chuàng)建一個安全連接
- 當(dāng)一個CA生成一個簽署過的證書,它為提供網(wǎng)頁給瀏覽器的組織提供身份擔(dān)保。
- 多數(shù)支持ssl的web服務(wù)器都有一個CA列表,它們的證書會被自動接受。當(dāng)一個瀏覽器遇到一個其授權(quán)CA并不在列表中的證書,瀏覽器將詢問用戶是否接受或拒絕連接
生成SSL證書
openssl genrsa -des3 -out wangzhengyi.key 2048
openssl req -new -key wangzhengyi.key -out wangzhengyi.csr
創(chuàng)建一個自己簽署的CA證書
openssl req -new -x509 -days 3650 -key wangzhengyi_nopass.key -out wangzhengyi.crt
搭建https虛擬主機(jī)
虛擬主機(jī)配置文件
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; #為虛擬主機(jī)指定pem格式的證書文件 ssl_certificate /home/wangzhengyi/ssl/wangzhengyi.crt; #為虛擬主機(jī)指定私鑰文件 ssl_certificate_key /home/wangzhengyi/ssl/wangzhengyi_nopass.key; #客戶端能夠重復(fù)使用存儲在緩存中的會話參數(shù)時間 ssl_session_timeout 5m; #指定使用的ssl協(xié)議 ssl_protocols SSLv3 TLSv1; #指定許可的密碼描述 ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; #SSLv3和TLSv1協(xié)議的服務(wù)器密碼需求優(yōu)先級高于客戶端密碼 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; } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Nginx Rewrite規(guī)則與使用介紹和技巧實例
這篇文章主要介紹了Nginx Rewrite規(guī)則與使用介紹和技巧實例,本文講解了正則表達(dá)式匹配、文件及目錄匹配、flag標(biāo)記、Nginx Rewrite相關(guān)指令等內(nèi)容,需要的朋友可以參考下2015-01-01Apache和Nginx的優(yōu)缺點詳解_動力節(jié)點Java學(xué)院整理
Nginx和Apache一樣,都是HTTP服務(wù)器軟件,在功能實現(xiàn)上都采用模塊化結(jié)構(gòu)設(shè)計,都支持通用的語言接口。下面通過本文給大家分享Apache和Nginx比較 功能對比,感興趣的朋友參考下吧2017-08-08