如何创建反向代理?我想创建一个网站,该网站使用每个网址都带有标识符的网址表。如果你转到http://site.com/id,其中id是url的标识符,它将充当反向代理并从url中检索内容。
我研究过使用apache反向代理功能,但是每次需要反向代理新站点时,如果不重新启动服务器,似乎没有办法扩展它。
答案 0 :(得分:1)
使用Apache在主httpd.conf
中使用mod_rewrite创建反向代理(如果适用,请使用相关代码):
RewriteCond %{HTTP_HOST} ^(www.)?mydomain.com [NC]
RewriteCond %{REQUEST_URI} ^/id$
RewriteRule ^.*$ http://www.proxydomain.com/newUrl [P,L]
第一行检查www.mydomain.com
或mydomain.com
第二行标识网址的/id
部分
如果满足前两个条件,则Apache会将请求发送到www.proxydomain.com/newUrl
,然后返回给客户端。
您无需完全重启Apache即可进行这些更改。执行配置检查然后正常重新启动,这不会使服务器脱机并重新加载配置:
/etc/init.d/httpd configtest && /etc/init.d/httpd graceful
或者,此代码可以放入.htaccess
文件,即less preferable。