IHS代理遇到404的问题

摘要:
因为工作的原因最近使用IBMHttpserver做代理服务器。IHS和Apache相似度很高,有不明白的地方可以查看Apache的相关文档做参考资料。我们有一台提供服务的服务器A,IHS作为A的代理服务器接受所有客户端的访问,然后再将访问转给服务器A。IHS的作用就是左手交右手的操作而已。但配置好以下代理的设置后,使用Client发出请求得到404的错误。)当IHS作为ServiceA的代理,ProxyPreserveHost设置为“on”,IHS会将client请求报头中Host的值直接放到IHS请求ServerA请求报头的Host中。

因为工作的原因最近使用IBM Http server (IHS)做代理服务器。IHS和Apache相似度很高,有不明白的地方可以查看Apache的相关文档做参考资料。(这里不得不吐槽一下IHS相关资料真的好少!)

我们的程序访问流程是如下图。我们有一台提供服务的服务器A,IHS作为A的代理服务器接受所有客户端的访问,然后再将访问转给服务器A。服务器A返回信息,IHS将对于的信息返回给客户端。IHS的作用就是左手交右手的操作而已。

IHS代理遇到404的问题第1张

但配置好以下代理的设置后,使用Client发出请求得到404的错误。

SSLProxyEngine on

ProxyPreserveHost on

ProxyPass  /xxx/xxx  https://Server A/xxxx/xxxx

ProxyPassReverse  /xxx/xxx  https://ServerA/xxxx/xxxx

可以确认Service A运行正常,因为使用Postman是可以直接访问Server A提供的API服务获取相关的信息。经过多次实验和翻查资料后,最终定位到ProxyPreserveHost这个设置。应该将ProxyPreserveHost设置为off!!!

以下是Apache官网配置手册的原话(建议使用英文去理解,中文翻译我看得一头雾水。)

IHS代理遇到404的问题第2张

当IHS作为Service A的代理,ProxyPreserveHost设置为“on”,IHS会将client请求报头(Request header)中Host的值直接放到IHS请求Server A请求报头的Host中。如下图所示:

IHS代理遇到404的问题第3张

由于request header中的Host是用来指示使用服务器A那个服务的,服务器A中根本没有IHS的服务,所以只能返回404了。

如果ProxyPreserveHost设置为“off”,IHS会使用ProxyPass设置中的hostname值放到请求Server A请求报文头的Host中。如下图所示:

IHS代理遇到404的问题第4张Host设置了正确的Server A地址,Server A才会正确返回数据。

参考Apache官网手册地址:http://httpd.apache.org/docs/current/mod/mod_proxy.html#proxypreservehost

免责声明:文章转载自《IHS代理遇到404的问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇黑帽SEO经常采用的字符编码(&#+五位数字)OSC的原理下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

apache安装

一、windows安装   下载地址:https://www.apachehaus.com/cgi-bin/download.plx#APACHE24VC14   下载的是二进制通用包(win和linux都可用)   注意版本选择:看自己电脑C编译器的版本    Visual Studio 2015  则下载VC14    Visual Studio201...

log4j配置

虽然现在大多数项目都趋向于slf4j,但是在开发中log4j简单的配置还是有使用之地。基本一个log4j.properties就行了,查看SQL语句的执行等等,非常nice。 首先是引用jar包 <!--log4j--> <dependency> <groupId>lo...

Java进程占用内存过高,排查解决方法

最近收到邮件报警,说内存使作率达到84%。如下图: 解决方法: A:可能是代码原因导致的问题: 1、使用命令:top 查看当前进程的状态 2、从上图可以看到PID:916的java进程占用内存较大。定位线程问题(通过命令查看PID 为25894 进程的线程情况),命令:# ps p 916 -L -o pcpu,pmem,pid,tid,time,t...

apache+php+mysql配置

---------------------------------------------------- ★软件工具:(下载时注意下载相应版本,不同版本安装细节可能会有差异!!) 1>httpd-2.4.18-win64-VC14.zip下载地址:http://www.apachelounge.com/download/ 2>php-5.6.16...

H3C 交换机VRRP和堆叠

1. 前言 平时对系统和主机的维护工作比较多一些, 对网络设备的配置就相对少了很多。最近为了上一批设备,针对交换机的配置也学习了一番,本文记录几个在实操中用到的实例。 2. 概念 在系统运维中,经常会用冗余的方式来保证业务、服务、系统的高可用性,而在网络中也存在冗余和高可用的方式。对于交换机来说,VRRP 和 堆叠。 2.1 MSTP 这里不准备对 STP...

版本控制 团队开发 svn服务器架设以及客户端svn配置

一、首先体验下作为开发员直接用的多的svn客户端的配置 svn客户端有两种,一种是集成到vs开发平台中,还有一种是单独的界面。 在这,我们两者结合起来用,使得开发更加高效。  首先,我们采用TortoiseSVN作为日常同步版本,获取新版本来使用。TortoiseSVN 是开源项目,在http://sourceforge.net/projects/tort...