[TOC]
数据传输方式
用户 —————> nginx(HTTPS) ———————>tomcat(HTTP)
nginx 和tomcat之间不需要使用HTTPS通信,因为nginx和tomcat一般处在同一内网,所以基本不会对外开放,也不会暴露外部服务,所以安全性不需要担心;其次,https核对证书是需要性能开销的,所以使用http通信能够有稍微提升一些性能。
配置方式
nginx 安装
安装openSSL
yum -y install openssl openssl-devel
安装pcre
yum -y install pcre pcre-devel
安装nginx
groupadd www
useradd -s /sbin/nologin -g www www
wget http://nginx.org/download/nginx-1.14.0.tar.gz
tar -zxvf nginx-1.14.0.tar.gz
cd nginx-1.14.0.tar.gz
/configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_sub_module --with-http_v2_module
make && make test
make install
nginx 配置
#服务器的集群,可以配置一个,也可以使用负载均衡
upstream manage { #服务器集群名字
server 127.0.0.1:8080 weight=1;#服务器配置weight是权重,权重越大,分配的概率越大。
}
server
{
listen 80;
#listen [::]:80;
server_name path.your.domain ; #这里改成你自己的地址
rewrite ^(.*)$ https://${server_name}$1 permanent;
}
server
{
listen 443 ssl;
#listen [::]:443 ssl;
server_name path.your.domain ; #改为你自己的域名
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains;preload";
location / {
proxy_pass http://manage;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
proxy_send_timeout 240;
proxy_read_timeout 240;
proxy_connect_timeout 100ms; # 代理机器连接超时时长(默认的60s太长了)
expires 30d;
}
ssl on;
ssl_certificate server.pem; #这里改成你自己的
ssl_certificate_key server.key; #这里改成你自己的
ssl_session_timeout 5m;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";
ssl_session_cache builtin:1000 shared:SSL:10m;
# openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048
# ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;
#error_page 404 /404.html;
access_log off;
}
tomcat配置
server.xml
context.xml
更新
整合完毕后发现其中一个项目的后台管理系统登录不了了。经过调试发现是session丢失了。上网查了之后得到解决方案。现记录下来作为备忘。