由于我在工作时无法访问除80和443以外的其他端口,因此我想在QNAP上使用Apache访问某些资源。Apache上的反向代理(适用于QNAP)
我特别想:
- 设置一个虚拟主机(使用sub1.domain.com)连接到同一台主机上运行(我QNAP)服务(http://localhost:58000)
- 集虚拟主机(使用sub2.domain.com)连接到局域网内的另一台主机(http://192.168.1.1:78080)
- 设置一个虚拟主机(使用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>
的/ etc /配置/阿帕奇/ extra/httpd-ssl-vhosts-user.conf
NameVirtualHost *:443
<VirtualHost _default_:443>
DocumentRoot "/share/Web"
</VirtualHost>
虚拟主机连接到服务上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>
虚拟主机运行连接到给定的外部网站(例如谷歌)[学分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>
但是这些都不虚拟主机的工作(我有一个连接失败或无尽的加载)。
有人能帮我看看代码吗?
非常感谢您提前!