文档章节

关于Apache 设置反向代理的一个注意问题

caiw
 caiw
发布于 2014/07/09 19:06
字数 332
阅读 65
收藏 0

     Apache 反向代理默认会改写Request head中的host,这样会造成在应用中如果使用reqeust.getHead("host")来做绝对路径的时候存在无法连接的问题。

    网上很多Apache的proxy设置都只写了ProxyPass 和 ProxyPassReverse

 ProxyPass /    http://172.18.100.51/
 ProxyPassReverse  /  http://172.18.100.51/

    这个时候如果在应用中使用reqeust.getHead("host") 或者PHP中使用$_SERVER['HTTP_HOST'] 绝对路径来请求js或者css 就会是172.18.100.5,本地浏览器如果是在外网就无法访问了。

只需要在Apache中添加

ProxyPreserveHost On

就可以解决这个问题

在Apache官方文档中关于他的描述

ProxyPreserveHost Directive
Description:Use incoming Host HTTP request header for proxy request
Syntax:ProxyPreserveHost On|Off
Default:ProxyPreserveHost Off
Context:server config, virtual host, directory
Status:Extension
Module:mod_proxy
Compatibility:Usable in directory context in 2.3.3 and later.
When enabled, this option will pass the Host: line from the incoming request to the proxied host, instead of the hostname specified in the ProxyPass line.
This option should normally be turned Off. It is mostly useful in special configurations like proxied mass name-based virtual hosting, where the original Host header needs to be evaluated bythe backend server.

同理 Nginx 中也有一个类似的参数

proxy_set_header Host $host;



© 著作权归作者所有

共有 人打赏支持
caiw
粉丝 2
博文 15
码字总数 5222
作品 0
成都
Apache模块 mod_proxy

Apache模块 mod_proxy 说明 提供HTTP/1.1的代理/网关功能支持 状态 扩展(E) 模块名 proxy_module 源文件 mod_proxy.c 概述 警告 在您没有对服务器采取安全措施之前,请不要用启用代理。一个开...

jason_wu_2
2016/10/25
4
0
参加Nginx技术分享的总结

参加了公司前两天的一个关于Nginx的技术分享,一直很懒,今天把参加后的总结记录一下。 Nginx的作用: HTTP Server 反向代理,用于将用户的请求转发到后端的Server上,过滤掉一些无用的请求,...

vane_
2013/09/01
0
0
正向代理、反向代理、透明代理

正向代理 这个想必大家都比较清楚了,翻墙就是正向代理的经典例子。通俗的说就是: A用户无法访问twitter,但是我能访问B服务器,而B服务器可以访问twitter。于是我访问B服务器,告诉它”嗨,...

无寄语
2016/08/19
4
0
Web服务之Nginx浅析

一、Nginx 简介: nginx [engine x]是Igor Sysoev编写的一个高性能的HTTP和反向代理服务器,另外它也可以作为邮件代理服务器。 在大多数情况下都是用来做静态web服务器和反向代理服务器,在作...

hoo_5
2014/05/18
0
0
Confluence 6 管理协同编辑

协同编辑能够让项目小组中的协同合作达到下一个高度。这个页面对相关协同编辑中的问题进行了讨论,能够提供给你所有希望了解的内容。 进入 Collaborative editing 页面来获得项目小组是如何进...

honeymose
10/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

区块链入门教程以太源码分析accounts包简介

兄弟连区块链教程以太源码分析accounts包简介 accounts包实现了eth客户端的钱包和账户管理。 账号的数据结构: typeAccount struct {Address common.Address `json:"address"` // Ether...

兄弟连区块链入门教程
19分钟前
0
0
sed命令详解及运用

10月17日任务 9.4/9.5 sed 9.3、正则介绍 - sed命令(上) sed是流编辑器,默认不编辑源文件,是以行为单位从源文件抽取数据,进而处理再输出于屏幕上;可能有的人说那我直接vi不就好了嘛,但...

zgxlinux
21分钟前
0
0
iOS App “去评分” 功能的几种实现总结

通常 App 都会在它的设置页面或者关于页面添加一个“去评分”选项,或者在用户使用 App 过程中适当时机弹窗,引导用户跳转到 App Store 对当前 App 进行评分或者撰写评论。 绝大部分 App 实现...

秦无炎
26分钟前
0
0
Chrome 图片解码与 Image Decoding Hint

我在之前的一篇文章Chrome 图片解码与 Image.decode API,说明了为什么图片解码可能会导致非合成器动画的阻塞和如何使用 Image.decode API 来避免动画的阻塞。不过虽然 Image.decode API 给页...

全部原谅
27分钟前
0
0
java获取ip和地区

String s = HttpUtil.sendPost("http://pv.sohu.com/cityjson");JSONObject jsonObject = JSONObject.parseObject(s.substring(s.indexOf("{"), s.indexOf("}") + 1));jsonObject.get("c......

吴伟祥
28分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部