Apache 2.4 代理通行证
IPFS
ProxyPass 可以把URL A 转去URL B,并保留网址是URL A。
常见的用法可能像是
- 原本有网址site-a.com,可是之后做了新版的网站,但是旧有的论坛功能(www.site-a.com/forum/) 要留着
- 原本有site-a.com 跟site-b.com,但是其实某一路径(/path1)下的东西是一模一样,但是想要让site-a.com与site-b.com的使用者看起来都在原本网站,且不想在两个server 上重复deploy
以第一个情况来说,懒惰的方式就是把旧的网站整个搬去跑在别的port (例如site-a.com:8008/ ),然后把www.site-a.com/forum/ 做proxy pass 到www.site-a.com:8008/forum/ 。
第二个情况,可能是把/path1/ 放在site-a.com 上,但实际上site-b.com/path1/ 也是proxy pass 去site-a.com/path1/
example config file 如下:
$ more /etc/apache2/sites-enabled/site-a.conf <VirtualHost *:80> ServerName www.site-a.com ServerAlias site-a.com ProxyPass /path1/ http://www.site-b.com/path1/ ProxyPassReverse /path1/ http://www.site-b.com/path1/ </VirtualHost>
用proxy pass 和redirect 是不太一样的。如果是用redirect,那之后的request 都是对redirect 之后的server,但是proxy 的话,两边的会有request (如下)
$ tail -f /var/log/apache2/access.log 35.xxx.xxx.xxx - - [25/Jul/2017:14:57:43 +0800] "GET /path1/ HTTP/1.1" 200 1251 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0" 130.xxx.xxx.xxx - - [25/Jul/2017:14:57:43 +0800] "GET /path1/ HTTP/1.1" 200 1251 "-
Original link: Phanix's Blog
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!