最近公司开发微信小程序,发现微信小程序必须使用https才能进行数据交互,没办法,学吧,废话不多说,开始…
第一步:获取SSL证书
获取证书的方式有很多种,免费的、收费的,还有自签名的,但是自签名的生成起来有些麻烦,而且不适合上线的项目用,收费的看起来又有点贵,当然如果不差钱,可以忽略上上句话。其次就是免费的了,也是博主还是比较推荐给新手用的,接下来进入操作步骤:
- 免费申请HTTPS证书的网站(FreeSSL.cn) //亲测可以
- 免费申请HTTPS证书的网站(SSL For Free) //未测
- 证书格式转换网站 //有些服务器需要不同格式的证书文件
- 证书管理软件 //本地生成时使用
- 检测网站安全
- 一、咱们今天使用FreeSSL申请证书,首先感谢TrustAsia和Let’s Encrypt给提供的免费证书,在这里可以选择双域名(只支持两个域名)、多域名通配符(支持一个一级域名和其所有的子域名),然后在输入框中输入域名,例如:*.baidu.com,然后单击创建免费的SSL证书
- 三、输入自己的邮箱(这里最好先将自己的邮箱注册成账号,因为后面还需要验证域名,当时博主的域名一直验证失败,注册了账号之后才验证成功,不知道是不是这个原因)
证书类型:RSA
验证类型:DNS
CSR:浏览器生成
点击创建,生成一条记录 ,分别有:记录类型、主机记录、记录值 - 四、进入到阿里云控制台,找到域名解析,添加记录,选择记录类型为TXT,输入主机记录和记录值,然后确定,等待十分钟左右,点击验证,即可验证成功
- 五、验证成功之后下载证书
第二步:配置https
- 首先配置监听端口,http需要监听80端口,https需要监听443端口
- 配置监听链接
- 配置证书,在nginx的根目录下的conf目录下创建一个cert文件夹,把full_chain.pem和private.key文件拷贝进去
- 配置监听到之后需要跳转的链接
server {
#---------------监听部分(开始)---------------
listen 80; #监听http协议请求
listen 443; #监听https协议请求
server_name zyz.rizhaokjg.com; #监听这个链接
#---------------监听部分(结束)---------------
#---------------这个是ssl的配置,用于https(开始)---------------
ssl on;
ssl_certificate cert/full_chain.pem;
ssl_certificate_key cert/private.key;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
#---------------这个是ssl的配置,用于https(结束)---------------
#---------------监听到之后跳转(开始)---------------
location / {
proxy_pass http://127.0.0.1:8081/index.html; #监听到之后跳转到这个链接
}
#---------------监听到之后跳转(结束)---------------
}
- 首先要把项目打成war包,放在tomcat的webapp下
- 配置tomcat的server.xml文件
- 将证书文件放在tomcat根目录下的conf文件夹中
- 不要忘了在云控制台开启443端口
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
keystoreFile="conf/rizhaokjg.com.pfx"
keystorePass="tl66668888"
clientAuth="false" sslProtocol="TLS" />