Поскольку я не могу получить доступ к портам, отличным от 80 и 443, я хотел бы сделать доступными некоторые ресурсы, используя Apache на моем QNAP.Обратный прокси-сервер на Apache (для QNAP)
В частности, я хотел бы:
- установить Virtual Host (с помощью sub1.domain.com) для подключения к службе, работающей на том же хосте (мой QNAP) (http://localhost:58000)
- набор Виртуальный хост (с помощью sub2.domain.com) для подключения к другому хосту в пределах локальной сети (http://192.168.1.1:78080)
- установить Virtual Host (с помощью sub3.domain.com) для подключения к внешнему веб-сайта (например, https://www.google.com)
Помимо активации proxy_module и proxy_ssl_module (и, соответственно, изменения DNS), я думал использовать следующие коды строк на httpd-vhosts-user.conf (для 1. и 2.) и на httpd-ssl-vhosts-user.conf (для 3):
Общие разделы (FYI):
/etc/config/apache/extra/httpd-vhosts-user.conf
NameVirtualHost *:80
<VirtualHost _default_:80>
DocumentRoot "/share/Web"
</VirtualHost>
/и т.д./конфигурации/Apache/extra/httpd-ssl-vhosts-user.conf
NameVirtualHost *:443
<VirtualHost _default_:443>
DocumentRoot "/share/Web"
</VirtualHost>
Virtual Host для подключения к службе работает на http://localhost:58000
<VirtualHost *:80> ServerName sub1.domain.com DocumentRoot "/share/Web/sub1" ProxyPreserveHost On ProxyRequests Off ProxyVia Off ProxyPass /sub1 http://localhost:58000 ProxyHTMLURLMap http://localhost:58000 /sub1 <Location /sub1> ProxyPassReverse/ ProxyHTMLInterp On ProxyHTMLURLMap/ /sub1 RequestHeader unset Accept-Encoding </Location> <Proxy *> AddDefaultCharset off Order deny,allow Deny from all Allow from all </Proxy> <Directory "/share/Web/sub1"> Options FollowSymLinks MultiViews Order allow,deny Allow from all </Directory> </VirtualHost>
виртуального хоста для подключения к другой службе, работающие на http://192.168.1.1:78080
<VirtualHost *:80> ServerName sub2.domain.com DocumentRoot "/share/Web/sub2" ProxyPreserveHost On ProxyRequests Off ProxyVia Off ProxyPass /sub2 http://192.168.1.1:78080 ProxyHTMLURLMap http://192.168.1.1:78080 /sub2 <Location /Asus> ProxyPassReverse/ ProxyHTMLInterp On ProxyHTMLURLMap/ /sub2 RequestHeader unset Accept-Encoding </Location> <Proxy *> AddDefaultCharset off Order deny,allow Deny from all Allow from all </Proxy> <Directory "/share/Web/sub2"> Options FollowSymLinks MultiViews Order allow,deny Allow from all </Directory> </VirtualHost>
виртуального хоста для подключения к данному внешним сайта (например, Google) [кредиты] kamal @ serverfault.com
<VirtualHost *:443> ServerName sub3.domain.com ProxyPreserveHost On <Proxy *> AddDefaultCharset off Order deny,allow Deny from all Allow from all </Proxy> ProxyPass /sub3 https://www.google.com/ ProxyHTMLURLMap https://www.google.com /sub3 <Location /sub3> ProxyPassReverse/ ProxyHTMLInterp On ProxyHTMLURLMap/ /sub3 RequestHeader unset Accept-Encoding </Location> </VirtualHost>
Однако ни один из этих виртуальных хостов не работают (у меня есть соединение обанкротиться или бесконечная загрузка).
Может кто-нибудь, пожалуйста, помогите мне пересмотреть код?
спасибо, что заблаговременно!