本篇使用阿里云的windows服务器在Nginx和SpringBoot上配置阿里云的SSL访问https网站
https使用场景
- 网站数据传递的安全性
- 基于前后端分离开发方式,比如微信小程序,等这些移动端应用开发,比如:你的服务器接口必须是:https,微信小程序在真实的项目发布的,如果不是https的接口你也是通不过。
https配置前提
- 必须拥有一个已经备案的域名
- 拥有一台服务器(含公网IP)
- 服务器与域名进行解析
- 下载领取ssl安全证书
- 证书授权与安装至nginx、tomcat等中
一、用阿里云的Windows服务器配置nginx,并配置ssl证书Https访问
1.在本机上打开远程桌面
2.输入远程服务器的 IP和用户名 点击链接
3.点击链接后出现弹框点击是
4.登录阿里云==》点击控制台 ==》找到SSL证书 下载Nginx
5.下载后会得到两个文件
6.两个文件放到nginx的conf里面
7.进入到Windows服务器后找到你下载的Nginx文件conf里面(如果没Nginx自行百度下载)
8.进来之后点击编辑nginx.conf
server {
listen 80;
server_name 域名;
#charset koi8-r;
#access_log logs/host.access.log main;
rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。
location / {
root html;
index index.html index.html;
try_files $uri $uri/ /index.html;
}
}
#HTTPS server
server {
listen 443 ssl; #https则是443 ssl,记得从阿里云服务上开放这个端口
server_name 你的域名; #列如:baidu.com
ssl_certificate .pem; #从阿里云上下载的证书(公钥.发送到客户端的).pem文件
ssl_certificate_key .key; #从阿里云上下载的私钥.key文件
# ssl的一些配置
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; #开启TLS协议
location / {
root html;
index index.html index.htm;
}
}
9.配置好后返回上一级目录cmd重启Nginx即可生效
命令:nginx -s reload
二、SpringBoot配置SSL(https)
1.登录阿里云==》点击控制台 ==》找到SSL证书 下载Tomcat
2.下载后会得到两个文件
3.复制证书文件到resources文件夹下
4.SpringBoot可以通过在application.properties或application.yml配置使用SSL(https)
server:
#配置https的端口
port: 9090
#配置https的证书
ssl:
# 证书存放的位置
key-store: classpath:xxxxxxx.pfx
#证书密码
key-store-password: xxxxxxx
#证书指定的类型
key-store-type: PKCS12