nginx安装与配置参考:http://hanqunfeng.iteye.com/blog/697696
一、nginx配置
upstream tomcats_ssl { server 192.168.33.10:8090 srun_id=tomcat01; server 192.168.33.11:8090 srun_id=tomcat02; jvm_route $cookie_JSESSIONID|sessionid reverse; #保证session同步,参考http://hanqunfeng.iteye.com/blog/1920994 #需要cas验证的应用更要配置,否则会造成死循环。 } server { listen 443; server_name nginx.server.name; ssl on; #开启ssl验证 ssl_certificate /usr/local/nginx/sslkey/server.crt; #证书 ssl_certificate_key /usr/local/nginx/sslkey/server.key; #密钥 ssl_session_timeout 5m; #session有效期,5分钟 ssl_protocols SSLv2 SSLv3 TLSv1; #ssl协议 ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; #ssl加密算法 ssl_prefer_server_ciphers on; location /ssl_test/ { proxy_pass http://tomcats_ssl; include /usr/local/nginx/proxy.conf; access_log /usr/local/nginx/logs/01.ssl.log main; } }
二、生成证书(这里是测试证书)
[root@localhost sslkey]# openssl req -new -x509 -nodes -out server.crt -keyout server.key
三、测试
重启nginx,请求:https://nginx.server.name/ssl_test,普通应用即可成功打开。
四、需要cas验证的应用
如果后端应用是需要cas登录验证的,则在成功登录cas回调后端服务器时会发生https协议转换为http协议,同时端口443转换为80的情况,导致应用不可正常访问,
例如https://nginx.server.name/ssl_test被cas回调后变为http://nginx.server.name/ssl_test,
目前的解决方案是,在后端服务的tomcat的server.xml中增加如下配置:
将 <Connector port="8090" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" /> 修改为: <Connector port="8090" protocol="HTTP/1.1" connectionTimeout="20000" scheme="https" proxyName="nginx.server.name" proxyPort="443" redirectPort="8443" URIEncoding="UTF-8" />
scheme
调用request.getScheme()时返回的协议名称。比如,在SSL Connector上可能将这个属性设为“https”。缺省值为“http”。
proxyName
如果connector在代理配置中使用,将这个属性设置成调用request.getServerName()时返回的服务器名称。
proxyPort
如果Connector在代理配置中使用,这个属性指定了调用request.getServerPort()返回的端口值。
在Tomcat位于代理服务器后面时,可以使用proxyName和proxyPort属性。这些属性修改了调用 requset.getServerName()和request.getServerPort()的返回值,用来构造重定向的绝对URL。如果不设置这 些值,返回值反映了代理服务器收到的连接的服务器名称和端口号,而不是客户端发起的服务器名称和端口号。
五、client&&server双向SSL配置
参考了网上的资料:
http://blog.csdn.net/rosw/article/details/3441187
http://www.linuxidc.com/Linux/2012-11/75130.htm(亲测,见附件)
不过只有Google(双击证书)和Firefox(导入时要选择“您的证书”)浏览器可以通过验证,IE(IE10)虽然成功导入证书,但仍提示证书错误。
相关推荐
如果需要验证配置是否正确,可以使用在线SSL检查工具测试域名的SSL配置是否正确,或者使用浏览器访问你的HTTPS网站,看是否能够成功加载并显示锁形安全标志。 需要注意的是,SSL证书分为几种类型,比如DV(域名验证...
#pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; fastcgi_intercept_errors on; sendfile on; #设置长连接 keepalive_...
在Nginx环境下配置SSL加密...总的来说,Nginx下SSL配置包含服务器与客户端安全通信的一系列规则设置和优化操作,以确保网站的数据传输安全。在实际部署过程中,需要根据实际业务需求和性能考量来配置和优化SSL设置。
ssl自制全套证书(包含服务器端、客户端、ca端的证书,格式有.crt,.key,.truststore,.keystore,.p12,.cer,.pem等类型),当时要配置webservice接口、tomca、nginx通过ssl访问的证书,弄了好久才生成了一套能使用的。...
对于uniapp应用,我们主要关注的是H5部分的SSL证书配置: 1. **创建自签名证书**:使用OpenSSL等工具生成自签名证书和私钥,这通常用于本地开发和测试环境。 - `openssl req -x509 -newkey rsa:2048 -keyout key....
Nginx是一个高性能的HTTP和反向代理服务器,也常被用作负载均衡器、邮件代理...因此,更先进的方法是使用客户端检测(例如使用CSS媒体查询)或服务器端检测(例如使用Vary HTTP响应头)来实现更加精确的设备适配。
在项目部署中,Nginx主要负责接收客户端请求,根据配置将请求转发到正确的服务器,同时提供静态资源服务、负载均衡、SSL加密等功能。 配置Nginx时,你需要创建一个或多个server块,每个server块代表一个独立的监听...
这些参数可以帮助你选择支持的SSL/TLS版本和加密套件,以及优先使用服务器端的密钥。 6. **测试与重启Nginx** 保存配置文件后,使用`nginx -t`命令检查配置文件是否有错误。如果没有错误,重启Nginx服务使配置生效...
这个场景下,我们讨论的是"webClient"在服务器端和客户端的配置,这是一个关键的网络通信环节,用于实现Web应用程序的功能。下面将详细介绍这个过程中的主要知识点。 一、服务器端配置 1. **服务器软件安装**:...
- 需要在Nginx服务器上配置SSL证书,包括服务器端证书和客户端证书。 - 通过自签名证书或第三方CA机构签发的证书进行配置。 **2. 配置示例** - 在Nginx的配置文件中,定义HTTPS服务器块,并配置`ssl_certificate`和...
`来确保服务器端选择加密套件而不是客户端。 6. HTTP严格传输安全(HSTS):通过`add_header Strict-Transport-Security 'max-age=***; preload';`指令强制浏览器通过HTTPS访问,防止明文HTTP连接。 7. 防止点击...
在本文中,我们将深入探讨如何在 CentOS 7 系统上部署 Nginx 服务器,实现前后端分离的架构。Nginx 是一款高性能的 Web 服务器和反向代理服务器,广泛应用于各种 web 应用场景,特别是对于处理高并发请求具有出色...
### 实战Nginx:取代Apache的高性能Web服务器——第5章:Nginx与JSP、ASP.NET、Perl的安装与配置 #### Nginx简介 Nginx是一款广泛使用的高性能HTTP和反向代理服务器,它以其轻量级、高并发处理能力以及稳定的性能而...
总的来说,Nginx的基础配置涉及多个方面,包括基本结构、服务器配置、URL处理和优化等。而优化配置则需要根据实际业务需求,结合负载均衡、缓存策略、安全防护等多个层面进行精细调整,以实现最佳性能和服务质量。...
微信小程序Server环境配置详解 ...所以 Server端环境配置的主要步骤: 申请 SSL 证书 配置web服务器支持https(我使用的是nginx) 升级到 TLS 1.2 SSL证书申请 https 需要使用SSL证书,这个证书的
Nginx是一款流行的开源Web服务器软件,常用于服务器端的反向代理、负载均衡、媒体流等功能。本文档将详细介绍如何使用Nginx配置http转https,以及https访问http静态资源。 一、Nginx配置http转https 在上面的配置...
# 优先使用服务器端的加密套件 ssl_session_cache shared:SSL:10m; # 缓存 SSL 会话 ssl_session_timeout 10m; # 设置 SSL 会话超时时间 add_header Strict-Transport-Security "max-age=31536000; include...