运行环境:
服务器:windows server2008 r2服务器
项目:三个阿里云https证书和一个http项目
jdk:1.8
tomcat:9.0
问题:
tomcat启动一次费时费力,随便修改一个项目都要面临重启tomat的可能,实在是不胜其烦。
解决之道:
使用jfianl undertow使用不同端口管理各个项目,实在各个项目独立运行。
把大象装冰箱只需三步
首先三个https域名分别使用8443、7443、6443端口,http使用8093端口,启动项目,确保可以通过https://项目名称:端口号访问
安装nginx 并配置nginx.conf
#A项目 config start server { listen 443 ssl; server_name www.A.com; ssl_certificate rs\A.pem; ssl_certificate_key rs\A.key; # ssl验证相关配置 ssl_session_timeout 5m; #缓存有效期 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; #使用服务器端的首选算法 location / { proxy_pass https://www.A.com:7443; } } #实现http自动跳转到https server { listen 80; server_name www.A.com; rewrite ^(.*)$ https://$host$1 permanent; } #A 项目 config end #B项目 config start server { listen 443 ssl; server_name www.B.com; ssl_certificate pl\B.pem; ssl_certificate_key pl\B.key; # ssl验证相关配置 ssl_session_timeout 5m; #缓存有效期 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; #使用服务器端的首选算法 location / { proxy_pass https://www.B.com:6443; } } server { listen 80; server_name www.B.com; rewrite ^(.*)$ https://$host$1 permanent; } #B项目 config end
#http项目 config start server { listen 80; server_name www.D.com; location / { proxy_pass http://www.D.com:8093; } } #http项目 config end
注意:证书文件要放到nginx的conf文件夹下面使用相对路径访问,使用绝对路径可能会提示找不到的提示
打完收工!