Nginx SSL+Tomcat问题总结
来源:互联网 发布:杭州高达软件怎么样 编辑:程序博客网 时间:2024/06/14 10:31
SSL证书文件的生成
1.使用免费的SSL证书
可使用https://gethttpsforfree.com/
免费生成3个月的证书,使用脚本定期更新证书,这些可上网查找。缺点是域名的认真必须使用服务端的80端口,但在国内个人用户此端口通常是被封的。
2.使用自签的SSL证书
以下是参考其他人的文章,生成过程如下:
$ mkdir ssl$ cd ssl$ openssl genrsa -des3 -out domain.key 1024$ openssl req -new -subj /C=US/ST=Mars/L=iTranswarp/O=iTranswarp/OU=iTranswarp/CN=domain -key domain.key -out domain.csr$ mv domain.key domain.origin.key$ openssl rsa -in domain.origin.key -out domain.key$ rm -rf domain.origin.key$ openssl x509 -req -days 3650 -in domain.csr -signkey domain.key -out domain.crt
其中ssl文件夹中的domain.key及domain.crt是nginx要使用的证书文件,将ssl文件夹放在nginx的conf目录下。
配置方式一:Nginx与Tomcat在同一台机器上的配置
1.nginx的配置
配置文件如下:
upstream webapp { server localhost:8080;}server { listen 443 ssl; server_name localhost; ssl_certificate ssl/domain.crt; ssl_certificate_key ssl/domain.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; proxy_redirect http:// $scheme://; port_in_redirect on; location / { proxy_pass http://webapp; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; } }
2.Tomcat的配置
server.xml中的Engine模块中添加一个Value,如下:
<Engine defaultHost="localhost" name="Catalina"> <!-- For nginx proxy of https --> <Valve className="org.apache.catalina.valves.RemoteIpValve" remoteIpHeader="x-forwarded-for" remoteIpProxiesHeader="x-forwarded-by" protocolHeader="x-forwarded-proto"/>
配置方式二:Nginx与Tomcat在不同机器上的配置
1.nginx的配置
配置文件如下:
upstream webapp { server 192.168.1.180:8443;}server { listen 443 ssl; server_name localhost; ssl_certificate ssl/domain.crt; ssl_certificate_key ssl/domain.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; proxy_redirect http:// $scheme://; port_in_redirect on; location / { proxy_pass http://webapp; proxy_set_header Host $host:$server_port; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; } }
2.Tomcat的配置
server.xml中添加一个8443的Connector,并把scheme中指定为https,在Engine中添加一个Value,配置如下:
<!-- For nginx proxy of https --><Connector port="8443" protocol="HTTP/1.1" scheme="https"/><Engine defaultHost="localhost" name="Catalina"> <!-- For nginx proxy of https --> <Valve className="org.apache.catalina.valves.RemoteIpValve" remoteIpHeader="x-forwarded-for" remoteIpProxiesHeader="x-forwarded-by" protocolHeader="x-forwarded-proto"/>
测试总结:
1.在centOS中,nginx与tomcat部署在同一台服务器中,采用第一种配置,没问题的。
2.在centOS中,nginx与tomcat部署在不同的服务器中,采用第一种配置,tomcat中获取到的scheme有可能是错误的,由https变为http,导致网页加载异常,采用第二配置解决问题。
3.在windows 7中,nginx与tomcat部署在同一台服务器中,采用第一种配置,tomcat中获取到的scheme有可能是错误的,由https变为http,导致网页加载异常。使用第二种配置就无问题。
4.第二种配置多加了一8443的端口并指定scheme为https,是专门给nginx使用,不可用浏览器直接访问,否则会造成网页加载问题。
阅读全文
0 0
- Nginx SSL+Tomcat问题总结
- nginx+tomcat的ssl认证问题汇总
- nginx ssl tomcat no ssl https http问题
- Nginx SSL+Tomcat https
- nginx+tomcat+ssl
- nginx tomcat SSL下的request获取信息问题
- nginx SSl redirect问题
- nginx tomcat jetty双向ssl
- nginx+tomcat+ssl+负载均衡
- Nginx、Tomcat、SSL、双向认证
- Nginx SSL 结合Tomcat 重定向URL变成HTTP的问题
- Nginx SSL 结合Tomcat 重定向URL变成HTTP的问题
- Nginx + tomcat + SSL 安装配置手册
- Nginx+Tomcat 7 to support SSL(HTTPS)
- 【安全】 详解 Nginx + Tomcat HTTPS/SSL 配置
- 详解 Nginx + Tomcat HTTPS/SSL 配置方法
- 详解 Nginx + Tomcat HTTPS/SSL 配置方法
- Nginx+tomcat+ssl免费证书配置
- MiniFlow,帮助理解TensorFlow关键概念--图
- 大数据WEB阶段(九)Myeclipse中配置Tomcat并发布项目
- Working out CodeForces
- Java NI/O 直接缓冲区与非直接缓冲区
- 独家 | 火灾之后,我们能够利用大数据做些什么?
- Nginx SSL+Tomcat问题总结
- 什么是spring,它能够做什么?
- [18]_man_info_--help学习总结
- caffe之python接口实战 :00-classification 官方教程源码解析
- Codeforces Round #384 (Div. 2)E.Vladik and cards【二分+状压dp】(未敲)
- TCP首部信息
- 心灵之火的瞬间-第一则
- VMware虚拟机中如何配置静态IP详解
- caffe代码详(未完)