nginx反向代理配置相对路径
Posted BuguTian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx反向代理配置相对路径相关的知识,希望对你有一定的参考价值。
需求:
在公司内部搭建了一个php的网站,想用花生壳映射到外网。
一.反向代理解决直接映射不成功问题
直接用把花生壳的"域名+端口"指向此php网站并竟然不生效。但是不加网站名可以跳到apache的界面上去。这是为什么?由于服务端也是nginx+php环境,猜测是服务端nginx直接将报文转发给phpcgi,php搞不定。
因此,想到先用nginx搭建一个反向代理,然后,按网站名指向此php服务器。果然生效。
二.配置相对目录,解决网页内链接跳转问题
但是点击网页上的连接的时候,就跳转到了内网地址。显然在外网是不能使用的。这时想到nginx可以支持相对路径。
搜索了一下找到:http://www.cnblogs.com/welkinok/p/5301285.html,这个配置很管用。
配置完之后,用花生壳的域名访问,结果所有的css和图片都没有加载上来。用F12调试后,发现他们只是指向域名,没有加端口,因此将配置修改如下:
proxy_set_header Host $host:11440; #注意,红色的部分写花生壳给你分配的端口 proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_redirect off; proxy_pass_header Set-Cookie; proxy_hide_header X-Powered-By; proxy_hide_header X-Mod-Pagespeed; proxy_ignore_client_abort off; proxy_cache_valid any 10m;
结果成功。
以上是关于nginx反向代理配置相对路径的主要内容,如果未能解决你的问题,请参考以下文章