1. 程式人生 > 其它 >Nginx配置免費版https詳細步驟

Nginx配置免費版https詳細步驟

技術標籤:Javanginxhttps

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

  1. 配置(如果未安裝nginx,移步Nginx安裝)
./configure --prefix=/usr/local/nginx --with-
http_stub_status_module --with-http_ssl_module
  1. make
make
  1. 複製 nginx 到nginx安裝目錄
cp ./objs/nginx /usr/local/nginx/sbin/
  1. 檢視安裝情況
/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;
}

  1. 重啟Nginx
/usr/local/nginx/sbin/nginx -s reload
  1. 訪問

https://192.168.153.134