Eri*_*ikL 8 apache reverse-proxy
在我的linux机器上,我将apache2作为反向代理运行,因为我想在端口8083上创建另一个Web服务器,同时也使其受密码保护.为此,我将此添加到我的apache2.conf中:
<VirtualHost *:80>
<Location / >
AuthName "Protected Area"
AuthType Basic
AuthUserFile /home/pi/.htpasswd
Require valid-user
</Location>
ProxyPass / http://localhost:8083/
ProxyPassReverse / http://localhost:8083/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
这就像一个魅力,但现在我也想用apache来服务一个网站,我想通过制作/ mysite指向/ var/www之类的东西来做到这一点,但我无法弄清楚如何做到这一点或者如果可能的话.
有任何想法吗?
我想你有两个选择:
1.将代理放在一个单独<Location /someurl>的位置并将该站点放在外面.请求http://localhost/someurl/将被代理,其他一切都是本地站点:
<VirtualHost *:80>
<Location /someurl >
# Password protection omitted for brevity
ProxyPass http://localhost:8083/
ProxyPassReverse http://localhost:8083/
</Location>
# Here is the site
DocumentRoot /var/www
# ... etc site config
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
2.使用两个单独的VirtualHosts,一个用于代理,一个用于站点.您将需要两个指向本地IP的单独主机名.仅限本地操作,请使用/etc/hosts.在这个例子中http://a.localhost/是代理,http://b.localhost是网站:
/ etc/hosts中:
127.0.0.1 a.localhost
127.0.0.1 b.localhost
Run Code Online (Sandbox Code Playgroud)
Apache配置:
# This is the proxy, http://a.localhost/
<VirtualHost *:80>
ServerName a.localhost
# Do password protection as needed
ProxyPass / http://localhost:8083/
ProxyPassReverse / http://localhost:8083/
</VirtualHost>
# This is the site, http://b.localhost/
<VirtualHost *:80>
ServerName b.localhost
DocumentRoot /var/www
# ... etc site config
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我可能会分开两个VirtualHosts,保持很好的分离.
| 归档时间: |
|
| 查看次数: |
19025 次 |
| 最近记录: |