- 浏览: 501114 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (156)
- xml (4)
- web前端 (24)
- jQuery (18)
- java (38)
- SQL (9)
- perl (2)
- OTRS (1)
- GWT (4)
- Linux (32)
- Maven (2)
- Spring (2)
- Oracle Win7 (1)
- css (8)
- eclipse (3)
- mysql (11)
- tomcat (5)
- git (4)
- javascript (22)
- font (1)
- android (1)
- log4j (1)
- email (1)
- sublime plugin (1)
- html (2)
- matches (1)
- php (3)
- apache (3)
- gd (1)
- docker (5)
- rails (1)
- RabbitMQ (1)
- Ubuntu (3)
- L2TP VPN (1)
- nodejs (1)
- oraclejet (1)
- ubutun (1)
- ntp (1)
- ngix (1)
- ssl (1)
- https (1)
- Linux,Debian (2)
- dpkg (1)
- pac (1)
- vi (1)
- vim (1)
- java,http (0)
- httpClient (0)
- shutter (1)
- shell (1)
- redmine (1)
最新评论
-
纵观全局:
配置之后,连接显示不是私密连接
keytool生成证书与Tomcat SSL配置 -
zhuchao_ko:
可以 伪造
java获得ip地址 -
longhua2003:
代码太乱了
java下载文件 -
tomhat:
ccx410 写道 安装gwt报错,unable to ret ...
GWT CellTable -
ccx410:
安装gwt报错,unable to retrieve osgi ...
GWT CellTable
最终配置的方案是浏览器和 Nginx 之间走的 HTTPS 通讯,而 Nginx 到 Tomcat 通过 proxy_pass 走的是普通 HTTP 连接。
下面是详细的配置(Nginx 端口 80/443,Tomcat 的端口 8080):
Nginx 这一侧的配置没什么特别的:
其中最为关键的就是 ssl_certificate 和 ssl_certificate_key 这两项配置,其他的按正常配置。不过多了一个 proxy_set_header X-Forwarded-Proto https; 配置。
最主要的配置来自 Tomcat,下面是我测试环境中的完整 server.xml:
上述的配置中没有什么特别的,但是特别特别注意的是必须有 proxyPort="443",这是整篇文章的关键,当然 redirectPort 也必须是 443。同时 <Value> 节点的配置也非常重要,否则你在 Tomcat 中的应用在读取 getScheme() 方法以及在 web.xml 中配置的一些安全策略会不起作用。
下面是详细的配置(Nginx 端口 80/443,Tomcat 的端口 8080):
Nginx 这一侧的配置没什么特别的:
upstream tomcat { server 127.0.0.1:8080 fail_timeout=0; } # HTTPS server server { listen 443 ssl; server_name localhost; ssl_certificate /Users/winterlau/Desktop/SSL/oschina.bundle.crt; ssl_certificate_key /Users/winterlau/Desktop/SSL/oschina.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Proto https; proxy_redirect off; proxy_connect_timeout 240; proxy_send_timeout 240; proxy_read_timeout 240; # note, there is not SSL here! plain HTTP is used proxy_pass http://tomcat; } }
其中最为关键的就是 ssl_certificate 和 ssl_certificate_key 这两项配置,其他的按正常配置。不过多了一个 proxy_set_header X-Forwarded-Proto https; 配置。
最主要的配置来自 Tomcat,下面是我测试环境中的完整 server.xml:
<?xml version='1.0' encoding='utf-8'?> <Server port="8005" shutdown="SHUTDOWN"> <Service name="Catalina"> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" proxyPort="443"/> <Engine name="Catalina" defaultHost="localhost"> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.RemoteIpValve" remoteIpHeader="x-forwarded-for" remoteIpProxiesHeader="x-forwarded-by" protocolHeader="x-forwarded-proto" /> <Context path="" docBase="/oschina/webapp" reloadable="false"/> </Host> </Engine> </Service> </Server>
上述的配置中没有什么特别的,但是特别特别注意的是必须有 proxyPort="443",这是整篇文章的关键,当然 redirectPort 也必须是 443。同时 <Value> 节点的配置也非常重要,否则你在 Tomcat 中的应用在读取 getScheme() 方法以及在 web.xml 中配置的一些安全策略会不起作用。
发表评论
-
Anolis安装DDE桌面
2021-11-02 11:26 1177如何在Anolis OS中安装部署DDE 1、下载Anoli ... -
构建mysqlRPM安装包
2019-03-20 18:57 583构建环境 yum -y groupinstall " ... -
Linux下常用压缩格式的压缩与解压方法
2017-03-07 18:57 382.tar 解包: tar xvf FileNam ... -
vi或vim编辑器的常用命令
2016-09-23 20:27 679插入恢复操作 i 当前插入 I 行首插入 a 当前后插入 A ... -
PAC 一个通CRT相同功能的工具
2016-08-11 09:29 826Ubuntu安装PAC wget http://sourc ... -
ubuntu搭建NTP服务器
2016-06-20 10:45 1936由于公司架构需求部分服务器走内部网络,这部分服务器均无外部网络 ... -
搭建docker私有仓库registry
2016-06-08 18:34 57821、操作系统 ubuntu 14.04 x64 2、安装do ... -
linux fdisk 命令 磁盘划分新的分区及挂载
2016-06-08 11:32 7007今天VirualBox中的Ubuntu进不了系统,用guest ... -
RabbitMQ 在ubuntu下安装脚本
2016-04-28 08:37 937最近公司要安装RabbiMQ,于是写了这段代码: 新建文件i ... -
Ubuntu下安装kate编辑器
2016-04-22 15:55 2618Ubuntu 下安装kate编辑器 #sudo apt- ... -
Linux开放端口,关于linux系统端口查看
2016-03-25 16:47 4231查看关于linux系统端口 $ netstat -tln ... -
修改Linux时区,同步时间
2016-03-25 16:42 2590时区设置: 开始设置时区时,参考网上的资料,使 ... -
tomcat部署时绑定域名
2016-03-08 15:02 4274tomcat部署多个web项目,并且绑定不同域名需修改conf ... -
Linux命令行下安装Maven与配置
2016-03-08 11:12 3827Apache Maven,是一个软件(特别是Java软件)项目 ... -
卸载apt-get安装的mysql
2016-03-04 09:32 1023删除 mysql 1 sudo apt-get auto ... -
Linux 下也可以使用RAR了
2016-01-28 13:15 773在Linux上要想解压.rar文 ... -
tar压缩解压缩命令详解
2016-01-28 11:03 1101tar命令详解 -c: 建立压缩档案 -x:解压 ... -
安装git报错Perl5
2015-05-12 15:53 1359今天在centos 中安装git ... -
解决宿主机不能访问虚拟机CentOS中的站点 | 更新CentOS防火墙设置开启80端口访问
2015-04-24 18:59 25601、本机能ping通虚拟机2、虚拟机也能ping通本机3、虚拟 ... -
关于Ubuntu下apt的一些用法及和yum的比较
2015-04-24 09:55 1346Fedora和Red Hat有yum安装软件,Ubuntu ...
相关推荐
ngix + mysql + php 安装包 非常方便而且简洁的绿色安装包,解决了对新手来说复杂的配置
redis,redis,tomcat集群实例,tomcat-session-jar文件夹下是需要的jar包,启动nginx,redis,tomcat后在浏览器中输入http://localhost/test/test2.jsp进行测试。
今天,王子与大家闲谈一下如何在Windows下使用Nginx+Tomcat做负载均衡的完整步骤,小伙伴们可以试着自己动手实践一下哦。 另外说明一点,本篇文章是纯实操文章,不涉及太多原理的解读,后期可能单独开一个专栏来深入...
在CentOS下安装Ngix服务及集群PHP、Tomcat
一、部署启动多个tomcat 2 1、背景 2 2、部署多个tomcat 2 二、nginx配置及启用 3 1、nginx的下载和启动 3 2、nginx配置文件 4 3、使用nginx负载均衡 5 4、配置nginx遇到的问题 6 三、mybatis 应用的缓存应用 7 1、...
tomcat+redis+nginx集群搭建所必须依赖的jar包
tomcat8+nginx1.14+jdk8配置session共享,内含jar包和说明
用Redis存储Tomcat集群的Session--包括tomcat两个,ngix1.8一个,项目测试一个
宝塔面板Tomcat,Ngix等文件配置以及设置记录
ngix-1.8.0下载,windows版本,使用方法:解压该文件夹,进入config文件下的nginx.conf,将其中的tomcat端口更改为目前正在使用的tomcat端口,location改为目前项目的html项目路径即可
我一般都是使用 nginx 做反向代理 tomcat 和其他应用的,其实 nginx 也是支持正向代理的 所谓正向代理就是内网用户通过网关访问外部资源,就是电脑上网时浏览器设置下 http 代理地址访问互联网 而反向代理就是外部...