作者:RKun595,来自原文地址
由于最近在学习微信小程序开发,所以在阿里云申请了一个免费的https证书,这个证书申请起来十分简单,大约十几分钟就好。所以不再赘述.
进入下载证书页面
把证书上传到服务器,假设你的证书是abc.pem和abc.key,我这里放到/etc/nginx/cert文件夹下了,cert文件夹是我自己创建的,使用mkdir cert来创建,提示权限错误时加sudo命令。
然后修改nginx配置文件 sudo vi /etc/nginx/nginx.conf
加上一个监听服务
-
upstream tomcat {
-
server 127.0.0.1:8080 fail_timeout=0;
-
}
-
-
# HTTPS server
-
server {
-
listen 443 ssl;
-
server_name <span style="color:#FF0000;">www.cjluzzl.cn</span>;#这里是你的域名,要与下面tomcat里的保持一致
-
-
<span style="color:#FF0000;">ssl_certificate cert/abc.pem;
-
ssl_certificate_key cert/abc.key;</span>
-
-
ssl_session_cache shared:SSL:1m;
-
ssl_session_timeout 5m;
-
-
ssl_ciphers HIGH:!aNULL:!MD5;
-
ssl_prefer_server_ciphers on;
-
-
location / {
-
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-
proxy_set_header Host $http_host;
-
proxy_set_header X-Forwarded-Proto https;
-
proxy_redirect off;
-
proxy_connect_timeout 240;
-
proxy_send_timeout 240;
-
proxy_read_timeout 240;
-
# note, there is not SSL here! plain HTTP is used
-
proxy_pass http://tomcat;
-
}
-
}
然后我们进入tomcat, cd 你的tomcat路径/conf/ vi server.xml 找到<Connector port="8080" protocol="HTTP/1.1" 这一行,修改为,
-
<Connector port="8080" protocol="HTTP/1.1"
-
connectionTimeout="20000"
-
redirectPort="443"
-
proxyPort="443" />
然后修改HOST里的value值,我这里修改为
-
<Host name="<span style="color:#FF0000;">www.cjluzzl.cn</span>" appBase="webapps" <!--这里的name要与nginx配置文件里的server_name保持一致-->
-
unpackWARs="true" autoDeploy="true">
-
-
<Valve className="org.apache.catalina.valves.RemoteIpValve"
-
remoteIpHeader="x-forwarded-for"
-
remoteIpProxiesHeader="x-forwarded-by"
-
protocolHeader="x-forwarded-proto" />
-
</Host>
简单的一匹吧,整个过程不超过五分钟,你就可以通过https访问了。
|