仕事で 80 と 443 以外のポートにアクセスできないため、QNAP で Apache を使用していくつかのリソースにアクセスできるようにしたいと考えています。
特に、次のことを希望します。
- 仮想ホスト (sub1.domain.com を使用) を設定して、同じホスト (私の QNAP) ( http://localhost:58000 )で実行されているサービスに接続します。
- 仮想ホスト (sub2.domain.com を使用) を設定して、LAN 内の別のホストに接続します ( http://192.168.1.1:78080 )
- 仮想ホストを (sub3.domain.com を使用して) 外部 Web サイト (例: https://www.google.com )に接続するように設定します。
proxy_module と proxy_ssl_module をアクティブにする (それに応じて DNS を変更する) 以外に、httpd-vhosts-user.conf (1. と 2. の場合) と httpd-ssl-vhosts-user.conf (2. の場合) で次の行コードを使用することを考えました。 3.):
一般的なセクション (参考までに):
/etc/config/apache/extra/httpd-vhosts-user.conf
NameVirtualHost *:80
<VirtualHost _default_:80>
DocumentRoot "/share/Web"
</VirtualHost>
/etc/config/apache/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>
指定された外部サイト (例: 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>
ただし、これらの仮想ホストはどれも機能しません (接続に失敗するか、ロードが無限に続きます)。
誰かがコードのレビューを手伝ってくれませんか?
事前にどうもありがとうございました!