網站添加免費SSL證書——HTTPS協議
1、SSL證書的下載
-
Spring Boot先後端分離
項目配置SSL證書
,須要申請兩個
證書。前端申請網站主域名
的SSL證書,後端能夠在域名管理裏面新建一個子域名
。例如個人項目前端域名爲:www.mzwhzy.com
,後端域名爲:blog.mzwhzy.com
。通常的我的網站申請免費
的SSL證書便可。具體的申請過程能夠參考:▶ 網站添加免費SSL證書——HTTPS協議
- 先將兩個域名的
證書
和密鑰
下載下來。
2、服務端配置SSL證書
- 避免沒必要要的麻煩,首先進行服務端配置
- 在
Nginx配置文件
裏面加入如下內容,首先確保443端口
是打開的,上傳證書和密鑰。個人證書路徑是:/etc/nginx/cer
,如下配置寫的是相對路徑
。
server {
listen 80;
server_name blog.mzwhzy.com;#服務端綁定的域名
rewrite ^(.*) https://$server_name$1 permanent;#後端強制跳轉https
}
#服務端SSL證書
server {
listen 443 ssl;
server_name blog.mzwhzy.com; #修改成您證書綁定的域名。
ssl_certificate cer/server.crt; #替換成您的證書文件的路徑。
ssl_certificate_key cer/server.key; #替換成您的私鑰文件的路徑。
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5; #加密套件。
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
location / {
proxy_pass http://127.0.0.1:6060;#改成你的後端運行端口
}
}
- 如今能夠用
https://blog.mzwhzy.com
來測試後端接口是否配置正確
2、客戶端配置SSL證書
- 在配置證書以前首先要
修改
客戶端接收服務端請求
的接口,如下是個人配置,修改完成之後從新打包上傳
客戶端。
//調用後端https接口
public HOST="https://blog.mzwhzy.com";
public WEBHOST="https://www.mzwhzy.com";
- 客戶端配置SSL證書用的是
主域名訪問
,因此在Nginx中加入如下配置,首先確保443端口是打開的。若是要實現http請求強制跳轉https
,能夠在原來的80端口的server
裏面加入:rewrite ^(.*) https://$server_name$1 permanent;
#客戶端SSL證書
server {
listen 443 ssl;
server_name www.mzwhzy.com; #修改成您證書綁定的域名。
ssl_certificate cert/server.crt; #替換成您的證書文件的路徑。
ssl_certificate_key cert/server.key; #替換成您的私鑰文件的路徑。
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5; #加密套件。
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
location / {
root /usr/share/nginx/html;#修改成您的客戶端站點地址
index index.html index.htm;
try_files $uri $uri/ /index.html =404;
}
}
- 如今客戶端能夠
https
進行訪問,不過可能瀏覽器地址欄沒有出現小綠鎖
,甚至可能出現不安全
的提示,這個是由於你的網站內部還存在http的連接
,只要將http的連接所有改成https
就會出現小綠鎖。