Linux

Apache proxypass 將子域重定向到埠和路徑

  • June 16, 2015

好的,我不知道如何表達標題,但我會嘗試解釋我的情況。

我有一個執行 debian 的家庭伺服器,除其他外,它正在執行“plex 媒體伺服器”。

我使用子域遠端訪問我的伺服器到我擁有的域,我們稱之為“ mydomain.com ”。我訪問子域“ home.mydomain.com ”上的伺服器(目前只顯示一些基本的 html),然後訪問“ home.mydomain.com:32400/web ”上的“Plex Web 界面”。

我想要做的是將子域“ plex.mydomain.com ”重定向到“ home.mydomain.com:32400/web ”,以便更輕鬆地訪問“plex 介面”。


我已經設法做到了一半,但我不確定如何進行,或者這實際上是否可行。

這些是我現在的虛擬主機:

<VirtualHost *:80>
   ServerAdmin webmaster@localhost
   ServerName home.mydomain.com

   DocumentRoot /var/www/home.mydomain.com/public_html

   <Directory />
           Options FollowSymLinks
           AllowOverride None
   </Directory>
   <Directory /var/www/>
           Options Indexes FollowSymLinks MultiViews
           AllowOverride None
           Order allow,deny
           allow from all
   </Directory>

   ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
   <Directory "/usr/lib/cgi-bin">
           AllowOverride None
           Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
           Order allow,deny
           Allow from all
   </Directory>

   ErrorLog ${APACHE_LOG_DIR}/error.log

   # Possible values include: debug, info, notice, warn, error, crit,
   # alert, emerg.
   LogLevel warn

   CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:80>
   ServerName plex.mydomain.com
   ProxyRequests Off
   ProxyPreserveHost On
   ProxyPass / http://localhost:32400/
   ProxyPassReverse / http://localhost:32400/
</VirtualHost>

這允許我訪問“ plex.mydomain.com/web ”上的 plex 界面,但我仍然想擺脫“ /web ”部分。

為此,我嘗試了:

ProxyPass / http://localhost:32400/web
ProxyPassReverse / http://localhost:32400/web

這根本不起作用,這只是給了我的“404 Not Found”。


那麼,這可以按我想要的方式解決嗎?如果是這樣,我該怎麼做。

任何幫助都非常感謝。

您可以使用重寫規則擺脫 Web 上下文:

ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:32400/
ProxyPassReverse / http://127.0.0.1:32400/

RewriteEngine on
RewriteCond %{REQUEST_URI} !^/web
RewriteCond %{HTTP:X-Plex-Device} ^$
RewriteRule ^/$ /web/$1 [R,L]

注意第二部分中的重寫條件。

僅供參考,我從這裡獲得了這些設置:http: //matt.coneybeare.me/how-to-map-plex-media-server-to-your-home-domain/

你應該檢查一下所有的細節。特別值得注意的是設置一些基本身份驗證來保護您的主機。

引用自:https://serverfault.com/questions/698995