Я знаю, что в теории это должно быть очень элементарно и просто, но мне нужно выполнить эту задачу, я новичок в этом и по какой-то причине не могу найти подходящий пример, который работает для меня.
Я запускаю apache 2.2 в windows 8. Мне нужно получить доступ к сайту, назовем его x.com, через мой прокси. Причина в том, что мне нужно показать его в iframe, а также программно войти на него, для чего мне нужно использовать javascript. Этому препятствуют междоменные ограничения безопасности ajax. С помощью проксирования сайта я мог бы это сделать.
Я установил http-сервер Apache. Откомментировал следующую строку
LoadModule proxy_module modules/mod_proxy.so
в файле "httpd.conf" и перезаписал файл conf\extra\httpd-vhosts.conf следующим образом:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.localhost
DocumentRoot "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/docs/dummy-host.localhost"
ServerName 127.0.0.1:80
ProxyRequests off
ProxyPass /feature http://x.com/
ProxyPassReverse /feature https://x.com/
ProxyPassReverseCookieDomain x.com localhost
ErrorLog "logs/dummy-host.localhost-error.log"
CustomLog "logs/dummy-host.localhost-access.log" common
<Directory "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/docs/dummy-host.localhost">
AllowOverride all
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Directory>
</VirtualHost>
Я перезапустил службу apache, теперь я захожу на сайт :
http://localhost/feature
и получаю
Not Found
The requested URL /feature was not found on this server.
Что может быть не так с этой настройкой? Есть ли что-то еще, что мне нужно настроить?
Спасибо
Просматривая ту же проблему, что и у меня, я нашел решение.
Просто вам нужно раскомментировать несколько дополнительных строк в файле "httpd.conf":
...
LoadModule proxy_http_module modules/mod_proxy_http.so
...
LoadModule vhost_alias_module modules/mod_vhost_alias.so
...
Include conf/extra/httpd-vhosts.conf
...
В моем случае это сработало.