微信小程序 服务器 证书 https 域名 springboot jar+nginx 部署
发表时间:2020-10-5
发布人:葵宇科技
浏览次数:85
一、总述
明确部署架构:springboot jar或者tomcat部署+nginx负责证书绑定、https、域名重定向,避免tomcat配置证书,修改代码业务逻辑,减少部署端口、证书等业务代码层面的配置
二、openssl安装
1、下载 openssl安装包和源码,如下图https://oomake.com/download/openssl
2、安装Win64 OpenSSL v1.0.1j
3、添加openssl环境变量:bin目录
4、解压源码
解压openssl-1.0.1j.tar.gz,找到\openssl-1.0.1j\apps目录,拷贝demoCA目录和openssl.cnf文件到Openssl的安装目录下的bin目录下(即C:\OpenSSL-Win64\bin\)
三、openssl创建证书
1、目前阿里云已经没有免费的证书可以直接下载了,需要手动创建
2、生成证书,命令行执行
cd D:/OPENSSL//到准备生成证书的额目录
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
根据命令行提示,粉笔输入国家、省、市等信息,注意host要填写域名地址,微信小程序会检测证书与真实域名一致性
生成下图证书
三、nginx部署正式与反向代理
1、解压nginx
2、conf目录下新建文件夹,将证书拷贝进去
3、修改conf下nginx.conf
(1)将原来的被注释的HTTPS 的server配置全部恢复,用以配置证书
(2)正确配置如下,配置证书路径和代理项目地址
# HTTPS server
#
server {
listen 443 ssl; //证书默认443端口
server_name localhost; //域名
ssl_certificate openssl/server.crt; //上面的conf下的证书路径,从阿里云买的是.pem文件,自己生成的是.crt
ssl_certificate_key openssl/server.key;//证书秘钥
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers height="408" src="https://img-blog.csdnimg.cn/20201005143540297.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poYW5nODkwN3hpYW95dWU=,size_16,color_FFFFFF,t_70" width="840" />
在nginx文件下新增restart.txt,复制下方内容,修改文件为.bat,双击运行即可实现重启
cd E:\application\nginx-1.16.1
nginx -s reload
nginx -s quit
taskkill /f /t /im nginx.exe
start nginx
nginx -V
cmd
5、服务器防火墙增加443入站规则
6、阿里云ECS增加安全组件的规则443
7、测试
服务器内部https:localhost测试效果;外部通过telnet https://外网IP测试
四、域名
1、购买域名,申请实名
2、解析域名至IP
3、未完待续
五、小程序发布