问题描述:想实现https://xxxxxxx访问,但是一直跳转http://xxxxxxx,同时nginx和tomcat单独服务器?

前提:已做过ssl基本配置,即nginx上做了443LISTEN,ssl_certificate和ssl_certificate_key,其他项与80LISTEN模块相同。

对于nginx和tomcat服务器分离实现反向代理这一个问题,下面给出如下解决思路和方法。

思路:nginx上做https,tomcat上做http,nginx反向代理tomcat8080端口,那么问题就出在端口上,关于ssl,当然想到的是443端口,

想访问tomcat下的服务,代理端口是关键,即proxyport。

方法:

1)nginx的配置文件

wKiom1cZiOWCFsZyAABc9HD2kos555.png

X-Forwarded-Proto 就是为了正确地识别实际服务发出的协议是 http 还是 https,就比如上图表示的就是本地所有的服务发出的协议都是https,那么接下来的

思路也很明确,就是tomcat上的服务也接受https。

2)tomcat的server.xml配置

wKioL1cZifaCVQGiAABkOizynNQ298.png

proxyPort代理端口配置443,是接受来自(1)里发来的https前提,当然如果某同学涉及到redis的话,也需要将redistport改成443,道理一样。接下来就是

Valve模块,此模块只能存在一个,想当初我配了2个,这都是泪啊,此处为标准安全策略配置,格外注意portocolHeader的值,你比对比对就知道什么意思了!!!j_0003.gif

我是鸡动君,我为自己代言j_0084.gif!!!