背景 公司賣了一個產品給甲方,甲方要求部署後,要以 來訪問。甲方提供了證書信息和私鑰,記錄一下部署過程。 實現 1、思路 在我們產品伺服器上部署一個 、證書信息也放在這個伺服器上。外界的 經過 變成 協議,大致思路如下: 2、安裝過程 (1)上傳證書、私鑰到伺服器 證書 放於 ; 私鑰 放於 ; ( ...
背景
公司賣了一個產品給甲方,甲方要求部署後,要以https
來訪問。甲方提供了證書信息和私鑰,記錄一下部署過程。
實現
1、思路
在我們產品伺服器上部署一個nginx
、證書信息也放在這個伺服器上。外界的https
經過nginx
變成http
協議,大致思路如下:
2、安裝過程
(1)上傳證書、私鑰到伺服器
- 證書
server.pem
放於/hand/certificate/server.pem
; - 私鑰
server.key
放於/hand/certificate/server.key
;
(2)配置nginx.conf
文件
events {
}
http {
server {
listen 443 ssl;
server_name 隨意寫;
ssl_certificate /app/test.crt;
ssl_certificate_key /app/test.key;
location / {
proxy_pass http://項目真實訪問地址/;
proxy_redirect http://項目真實訪問地址/; https://外網訪問的地址/;
}
}
}
ssl_certificate
、ssl_certificate_key
配置的地址是以後nginx
容器內部的證書、私鑰地址;
proxy_redirect
是配置項目中如果有重定向請求的話,仍然進行轉發;
(3)起一個nginx
容器
docker run -v /nginx/nginx.conf:/etc/nginx/nginx.conf:ro -p 443:433 -v /hand/certificate/server.pem:/app/test.crt -v /hand/certificate/server.key:/app/test.key -d --restart=always nginx
--restart=always
防止伺服器重啟後,忘記開這個了要確保把外界的證書路徑給映射到容器中
至於
.ctr
、.pem
、.key
尾碼應該是無所謂的
參考信息
https://aotu.io/notes/2016/08/16/nginx-https/index.html
http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html
https://github.com/ljianshu/Blog/issues/50
https://cattail.me/tech/2015/11/30/how-https-works.html
未完待續~
為什麼https
能保證安全?stl
?
一個https
連接過程是什麼樣子的?
為什麼需要證書?