生成證書
# 1. 首先創建SSL證書私鑰,期間需要輸入兩次用戶名和密碼,生成文件為blog.key;
openssl genrsa -des3 -out blog.key 2048
# 2. 利用私鑰生成一個不需要輸入密碼的密鑰文件,生成文件為blog_nopass.key;
openssl rsa -in blog.key -out blog_nopass.key
# 3. 創建SSL證書簽名請求文件,生成SSL證書時需要使用到,生成文件為blog.csr;
# 在生成過程中,我們需要輸入一些信息,需要注意的是Common Name需要和網站域名一致;
openssl req -new -key blog.key -out blog.csr
# 4. 生成SSL證書,有效期為365天,生成文件為blog.crt;
openssl x509 -req -days 365 -in blog.csr -signkey blog.key -out blog.crt
沒有域名也沒事,直接配置 hosts 文件也是可以的
別忘了配完后刷新 dns 緩存: ipconfig/flushdns
使用docker搭建nginx環境,通過HTTPS訪問 Nginx 靜態內容
# 1. 配置環境
# 2. 配置nginx
docker run -p 80:80 -p 443:443 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx:1.10
# 3. 添加配置文件 /mydata/nginx/conf/conf.d/blog.conf,並配置
server {
listen 80; # 同時支持HTTP
listen 443 ssl; # 添加HTTPS支持
server_name engureguo.com;
#SSL配置
ssl_certificate /usr/share/nginx/html/ssl/blog.crt; # 配置證書
ssl_certificate_key /usr/share/nginx/html/ssl/blog_nopass.key; # 配置證書私鑰
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 配置SSL協議版本
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; # 配置SSL加密算法
ssl_prefer_server_ciphers on; # 優先采取服務器算法
ssl_session_cache shared:SSL:10m; # 配置共享會話緩存大小
ssl_session_timeout 10m; # 配置會話超時時間
location / {
root /usr/share/nginx/html/www;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
注意事項:
-
為方便演示,創建
/mydata/nginx/html/www/index.html
文件 -
使用
netstat -nao | findstr :443
發現 VMware 共享虛擬機占用端口,進行修改:
通過HTTPS訪問 SpringBoot 應用
- https://www.tqwba.com/x_d/jishu/350869.html
- https://www.shangmayuan.com/a/37a697a450134ee3bac7b031.html