NginX下Openssl的構建和部署數字證書,支持HTTPS

1、安裝 OpenSSL

OpenSSL官網地址node

wget https://www.openssl.org/source/openssl-1.0.2n.tar.gz

tar -zxvf openssl-1.0.2n.tar.gz 

cd openssl-1.0.2n/
./config --prefix=/usr/local/openssl  #這個地方很特別,是config 不是configure哦
make depend  #檢查依賴
make
make install
cd /usr/local/openssl/bin

openssl req -nodes -newkey rsa:1024 -out myreq.pem -keyout privatekey.pem
 
openssl req -in myreq.pem -x509 -key privatekey.pem -out mycert.pem -days 365 #生成數字證書

2、Nginx+OpenSSL支持https

配置nginx.conf,將如下代碼加入到server {}中,這樣就能夠同時支持httphttps了。nginx

listen       443 ssl;
     server_name  localhost;

     ssl_certificate      /usr/local/openssl/bin/mycert.pem;
     ssl_certificate_key  /usr/local/openssl/bin/privatekey.pem;

     ssl_session_cache    shared:SSL:1m;
     ssl_session_timeout  5m;
  
     ssl_ciphers HIGH:!aNULL:!MD5;
     ssl_prefer_server_ciphers on;

clipboard.png

3、數字證書不受信任

當咱們在網頁訪問https,提示不安全,這是由於咱們本身的證書是沒有辦法被信任的,能夠購買第三方證書來消除這個紅色提示api

clipboard.png

4、抓包測試

工具:Fiddler安全

3.1 http

從下圖能夠看到,經過抓包能夠抓取到發送給服務器的敏感信息服務器

clipboard.png

clipboard.png

3.2 https

從下圖能夠看到,經過https協議,數據都被加密了session

clipboard.png

clipboard.png

clipboard.png

5、虛擬機配置OpenSSL數字證書

若是同一個服務器有多個站點,若有api.xxx.comauth.xxx.comweixin.xxx.com三個站點。爲每一個站點按照本文目錄的步驟配置便可。工具

相關文章
相關標籤/搜索