我有一個網絡服務,我想通過URL foo.com/bar
公開。 但是,我的Apache反向代理不能按預期工作。 我已經創建了文件001-default.conf
,它包含以下代碼:反向代理:不需要的URL更改
<VirtualHost *:80>
ProxyPreserveHost On
ProxyRequests Off
ProxyPass /bar http://foo.com:8080/bar
ProxyPassReverse /bar foo.com:8080/bar
DocumentRoot /var/www/foo/
ServerName info.foo.com
<Directory /var/www/foo>
Options Indexes FollowSymLinks MultiViews Includes
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
現在我收到一個404
錯誤代碼。
我想在foo.com/bar上實現所有匹配,將其默認重定向到foo.com:8080/bar
,這意味着用戶只應該看到網址foo.com/bar
。 反向代理重定向還應包括諸如foo.com/bar?=foobar
之類的請求。
我也能proxy_http和代理:
% sudo a2enmod proxy_http
Considering dependency proxy for proxy_http:
Module proxy already enabled
Module proxy_http already enabled
我希望有一個人在那裏,能夠幫助我。
相信沒有解決不了我的問題類似的問題: apache reverse proxy changes urlTransparent redirect to port 8080
首先,刪除:'重定向永久/欄http:// foo:8080/bar'。你想代理,而不是重定向。你現有的'ProxyPass'指令應該這樣做。 – arco444 2014-11-24 16:22:22
現在我進入www.foo.com/bar時會得到404。我已更新我的問題以反映這一變化。 – 2014-11-24 16:31:39
您的服務器名稱是info.foo.com,這意味着foo.com可能會擊中另一個VHOST。 – CodeTower 2014-11-24 16:39:13