自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用自簽發(fā)證書實現(xiàn)Nginx HTTPS

安全 數(shù)據(jù)安全
為了互聯(lián)網(wǎng)安全HTTS化勢在必行,但是證書首先需要花錢購買,雖然有很多免費證書可以申請,但而且還必須要有個域名才能通過驗證。

 為了互聯(lián)網(wǎng)安全HTTS化勢在必行,但是證書首先需要花錢購買,雖然有很多免費證書可以申請,但而且還必須要有個域名才能通過驗證。實際中我們有一些內(nèi)部的系統(tǒng)或者某些測試環(huán)境沒有域名或者無需設置域名,這種情況下如何使用HTTPS呢,那就是本文蟲蟲要給大家介紹的自簽名證書方式。

[[262081]]

安裝升級openSSL

OpenSSL是整個底層加密算法庫和工具的基礎。

使用自簽發(fā)證書實現(xiàn)Nginx HTTPS

我們的Web服務器要依賴它的類庫來實現(xiàn)SSL/TSL模塊和HTTPS的工作。在簽發(fā)證書時候也需要使用OpenSSL。在自簽名生成時候,我們可以使用其他更加專業(yè)的軟件,比如GPG,關于GPG使用我們以前文章中介紹過,大家可以參考歷史文章。本文為了方便,證書的簽發(fā)都用OpenSSL。

由于OpenSSL升級可能影響很多軟件,我們先不直接升級,而生成一個新版本的OpenSSL在/usr/local/ssl目錄,這樣不影響已有有版本的其他軟件。

首先下載新版本的OpenSSL,為了兼容我們選擇1.0.2系列版本:

使用自簽發(fā)證書實現(xiàn)Nginx HTTPS
  1. wget Url --no-check-certificate 
  2. tar -zxvf openssl-*.tar.gz 
  3. cd openssl-* 
  4. ./config -fpic shared && make && make install 
  5. echo "/usr/local/ssl/lib" >> /etc/ld.so.conf 
  6. ldconfig 

生成自簽名證書

子簽名證書的使用商用證書一樣,不過證書需要自己生成。首先確保OpenSSL升級到新版本,或者通過yum update openssl升級確保解決已有的ssl漏洞。

  1. mkdir /etc/ssl 
  2. chmod 700 /etc/ssl 
  3. /usr/local/openssl/bin/openssl req -newkey rsa:2048 -nodes -keyout /etc/ssl/rsa_private.key -x509 -days 888 -out cert.crt -subj /C=CN/ST=BJ/L=CY/O=CC/OU=OP/CN=Chongchong/emailAddress=test@cc.info 

為了避免創(chuàng)建證書過程中的交互式信息填寫,我們此處使用-subj參數(shù)指定了一些參數(shù),實際使用中可以根據(jù)需要自己設置:

 

使用自簽發(fā)證書實現(xiàn)Nginx HTTPS

 

C=CN ← 國家代號,中國輸入CN

ST=BJ ← 州(省)名

L=CY ← 所在地市的名稱

O=CC ← 組織或者公司名稱

OU=OP ← 部門名稱

CN=Chongchong ← 通用名,可以是服務器域控名稱,或者個人的名字

emailAddress=test@cc.info ← 管理郵箱名

會生成網(wǎng)站私鑰rsa_private.key和網(wǎng)站證書cert.crt都準備完畢。證書的驗證可以在設置成功后。為了證書安全設置權限:

chmod 600 /etc/ssl/*

Nginx HTTPS安全配置

確保nginx使用新版本的nginx(目前版本為1.15.11,1.12.2),如果系統(tǒng)是用的其他應用服務器,一般做法是給新增加nginx做為反向代理,代理到應用服務器,比如tomcat,然后在Nginx反向代理商配置https。

新開一個虛擬主機,并在server{ .. . }段中設置:

注意nginx新語法中已經(jīng)不使用ssl on;而是在listen語句中添加ssl;443為默認https端口,根據(jù)實際情況修改為別的。

listen *:443 ssl;

  1. ssl_certificate / etc/ssl/cert.crt; 
  2. ssl_certificate_key / etc/ssl/rsa_private.key
  3. ssl_protocols TLSv1.2; 
  4. ssl_prefer_server_ciphers on
  5. ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH"
  6. ssl_ecdh_curve secp384r1; 
  7. ssl_session_cache shared:SSL:10m; 
  8. ssl_session_tickets off
  9. add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"

其中的路徑是剛剛生成的網(wǎng)站證書的路徑。根據(jù)網(wǎng)站實際情況配置可能有差異,我們可以使用Mozilla的服務器端TLS配置在線生成器,這個我們以前的文章中也提到過:

 

使用自簽發(fā)證書實現(xiàn)Nginx HTTPS

 

配置完成后,使用nginx命令檢測配置和重新加載Nginx:

檢測配置:

  1. nginx -t 

重新加載:

  1. nginx -s reload 

Nginx優(yōu)化配置

優(yōu)化Nginx性能

在http{.. .}中加入:

  1. ssl_session_cache shared:SSL:10m; 
  2. ssl_session_timeout 10m; 

增加session緩存可以提高nginx處理https的性能。

在配置https的虛擬主機server{.. .}中加入:

  1. keepalive_timeout 70; 

設置超時,可以由于超時導致等待導致性能問題

fastcgi ssl配置

有時候啟用https后,有些php程序認證通過后,出現(xiàn)跳轉(zhuǎn)頁面錯誤錯誤,跳轉(zhuǎn)到http導致問題。

解決方法是定位至"location ~ .*.(php|php5)?${}"在include fcgi.conf;或者在fastcgi_param配置后面加上:

  1. fastcgi_param HTTPS on
  2. fastcgi_param HTTP_SCHEME https; 

瀏覽器添加網(wǎng)站信任

使用自簽名的https證書,默認瀏覽器是拒絕訪問的,需要把該網(wǎng)站添加到瀏覽器信任列表才能訪問。

添加信任的方法:

firefox

點擊高級,將要訪問url添加到信任即可:

 

使用自簽發(fā)證書實現(xiàn)Nginx HTTPS

 

Chrome

Chrome設置類似,點擊高級

 

使用自簽發(fā)證書實現(xiàn)Nginx HTTPS

 

點擊繼續(xù)前往

 

使用自簽發(fā)證書實現(xiàn)Nginx HTTPS

 

證書驗證

查看我們自簽名的證書信息:

 

使用自簽發(fā)證書實現(xiàn)Nginx HTTPS

 

和第二部我們生成證書時候設置的參數(shù)一致。

 

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2009-08-14 15:00:47

SSL證書 天威誠信VeriSign證書

2019-12-30 16:03:54

Web服務器Nginx

2020-06-12 07:59:54

SSL證書攻擊漏洞

2020-09-24 07:51:45

HTTPS證書接口

2021-12-16 16:50:47

NginxSSLLinux

2022-09-07 08:34:19

kuberneteshttps

2019-07-09 14:57:09

代理服務器NginxHTTPS

2024-03-26 12:08:20

加密NginxHTTP

2021-01-27 12:40:09

NginHTTPS前端

2009-08-03 10:57:18

數(shù)字安全SSL威瑞信

2022-03-07 09:00:00

HTTPS證書中間件

2025-04-17 04:00:00

2014-12-31 10:04:44

2016-10-24 17:47:38

2020-01-14 09:40:00

Nginx負載均衡正向代理

2020-08-24 07:35:42

HTTPS加密反向代理

2009-08-26 22:21:12

2019-09-29 15:16:49

2009-08-14 17:16:19

威瑞信SSL證書簽發(fā)安全資訊

2020-07-10 08:46:26

HTTPS證書劫持網(wǎng)絡協(xié)議
點贊
收藏

51CTO技術棧公眾號