Nginx配置免費版https詳細步驟
阿新 • • 發佈:2021-01-12
Nginx配置免費版https詳細步驟
Nginx配置免費版https
基本介紹
HTTPS (全稱:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全為目標的 HTTP 通道,在HTTP的基礎上通過傳輸加密和身份認證保證了傳輸過程的安全性 [1] 。HTTPS 在HTTP 的基礎下加入SSL 層,HTTPS 的安全基礎是 SSL,因此加密的詳細內容就需要 SSL。 HTTPS 存在不同於 HTTP 的預設埠及一個加密/身份驗證層(在 HTTP與 TCP 之間)。這個系統提供了身份驗證與加密通訊方法。它被廣泛用於全球資訊網上安全敏感的通訊,例如交易支付等方面。
生成證書
openssl是目前最流行的SSL密碼庫工具,其提供了一個通用、健壯、功能完備的工具套件,用以支援SSL/TLS協議的實現。
證書的生成目錄:/usr/local/ssl (可自定義)
openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout /usr/local/ssl/nginx.key -out /usr/local/ssl/nginx.crt
生成過程需要輸入多個資訊,按照提示輸入即可。
配置nginx
- 配置(如果未安裝nginx,移步Nginx安裝)
./configure --prefix=/usr/local/nginx --with- http_stub_status_module --with-http_ssl_module
- make
make
- 複製 nginx 到nginx安裝目錄
cp ./objs/nginx /usr/local/nginx/sbin/
- 檢視安裝情況
/usr/local/nginx/sbin/nginx -V
5. 配置nginx.conf
vi /usr/local/nginx/conf/nginx.conf
server {
listen 80 ssl;
server_name 192.168.153.134;
ssl_certificate /usr/local/ssl/nginx.crt;
ssl_certificate_key /usr/local/ssl/nginx.key;ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
#禁止在header中出現伺服器版本,防止黑客利用版本漏洞攻擊
server_tokens off;
#如果是全站 HTTPS 並且不考慮 HTTP 的話,可以加入 HSTS 告訴你的瀏覽器本網站全站加密,並且強制用 HTTPS 訪問
fastcgi_param HTTPS on;
fastcgi_param HTTP_SCHEME https;
access_log logs/httpsaccess.log;
#charset koi8-r;
#access_log logs/host.access.log main;
}
- 重啟Nginx
/usr/local/nginx/sbin/nginx -s reload
- 訪問
https://192.168.153.134