大家好,
我目前使用nginx作为Apache的前端代理。 我已经设置nginx使用端口80和Apache使用8080.但是,在nginxredirect到Apache的请求后,端口8080是可见的浏览器。 有没有什么办法可以隐藏这个端口,并且不可见,因为对于想要join书签的用户来说这是非常难看的。
编辑
所有,
看起来这个请求直接去Apache,而不是先去nginx。 有什么办法,我可以找出为什么是这样以及如何使请求首先nginx?
在此先感谢您的帮助。
编辑
所以我重新启动整个服务器来加载configuration,并确保nginx先装载,而不是Apache。
使用nginx的proxy_pass指令而不是redirect。 这样,nginx将从Apache请求数据,但从端口80发送到浏览器本身。这就是所谓的“反向代理”, 这里是一个关于Ubuntu设置的教程 。
我不认为你可以隐藏用户/浏览器的信息,但如果(我假设是这样的话) nginx和apache不在同一个主机上,你可以redirect端口80到apache系统上的端口8080 ..用户不会注意到任何东西,但Google会在caching/抓取您的网站时注意到redirect,并可能放弃caching/抓取。
为了redirect使用Iptables,像这样:
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j \ REDIRECT --to-port 8080
它可能需要适应。
在我看来,最好绑定在external_ip:80上的nginx和在127.0.0.1:80上的apache,并且不需要隐藏某些东西
减less操作 – 减less拒绝点