tomcat的ssl证书
1.JKS证书安装
windows环境下,进入到jdk的bin目录下,运行
//a.pfx 替换成自己的 pfx(绝对路径)
//a.jks 是自己要生成的jks文件名称(绝对路径)
keytool -importkeystore -srckeystore a.pfx -destkeystore a.jks -srcstoretype PKCS12 -deststoretype JKS
2.将生成的jks文件拷到服务器项目的tomcat下的config文件下。
3.tomcat的server.xml配置文件做如下修改
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" defaultSSLHostConfigName="wy.altmoose.com">//**wy.altmoose.com**二级域名
<SSLHostConfig hostName="wy.altmoose.com">//wy.altmoose.com二级域名
<Certificate certificateKeystoreFile="conf/1978213_wy.altmoose.com.jks"
certificateKeystorePassword="4c78kY3H"/>//秘钥
</SSLHostConfig>
</Connector>
//修改defaultHost
<Engine name="Catalina" defaultHost="wy.altmoose.com">
//host 修改name,添加 Context path 内容
<host >
<Context path="" docBase="/usr/java/wymanage/apache-tomcat-8.5.35/webapps/wymanage" debug="0" reloadable="true"></Context>
</host>
Nginx的ssl证书
1.下载nginx证书,存放到服务器的目录下,如:/etc/nginx/cert(cert是新建的文件夹,专门存放nginx证书)
2.tomcat配置文件修改。除正常的端口号修改外,配置文件还需修改如下几个地方。
//默认的localhost修改为自己的URL链接
<Engine name="Catalina" defaultHost="www.js*******u.com">
.....
<Host name="www.js*********yu.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
//这段是新增的, docbase 存放的是自己的项目根目录
<Context path="" docBase="/usr/java/apache-tomcat/webapps/yourwebapp" debug="0" reloadable="true"></Context>
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
3.nginx配置文件修改。需要注意的是nginx.conf尽量不要再windows环境下修改后替换,而应该再Linux直接修改配置文件
命令 :vim etc/nginx/nginx.conf 查看配置文件
命令: i 修改配置文件
添加内容如下:
server {
listen 443 ssl; //https
server_name www.js******u.com; #https URL
ssl on;
ssl_certificate /etc/nginx/cert/13*********yu.com.pem; #证书路径
ssl_certificate_key /etc/nginx/cert/13*********u.com.key; #证书路径
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #指定SSL服务器端支持的协议版本
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on; #在使用SSLv3和TLS协议时指定服务器的加密算法要优先于客户端的加密算法
location / {
proxy_pass http://www.jsshaguangyu.com:8084; #因为tomcat修改了host,这里的http URL是 host:post
}
}
命令:按Esc后,键入 :wq 保存修改内容(:wq)
命令: nginx -s reload 重新加载配置文件。
前台JSP处理
jsp中加入(nginx配置的ssl证书不需要加入)
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">