Linux

如何將子域重定向到同一伺服器上的不同埠?

  • March 18, 2021

我有一些子域我想重定向到同一台伺服器上的特定埠。說我有

dev.mydomain.com 

我想dev.mydomain.com透明地重定向到mydomain.com:8080並且我想保留原始子域名的瀏覽器的url。

如何使用 Apache 2.2 做到這一點?我在預設埠上執行 Apache 2.2 80。我無法弄清楚實現這一點的寫入配置。

我已經設置dev.mydomain.com在 DNS 中解析為mydomain.com.

這適用於具有不可路由 IP 地址的 Intranet 開發伺服器,因此我不太擔心會危及面向公眾的伺服器的漏洞利用和安全性。

解決方案

這是我在邁爾斯·埃里克森(Miles Erickson)朝著正確的方向發展後最終想到的。我希望地址欄反映請求的原始子域/域,而不是重定向的伺服器和埠,但他讓我在正確的路徑上使用GoogleVirtualHost找到解決方案,我終於找到了一個解決方案,其中包括使用mod_proxy.

首先,確保mod_proxy已啟用:

sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2enmod proxy_balancer
sudo a2enmod lbmethod_byrequests
sudo systemctl restart apache2

接下來,將以下內容添加到您的站點配置(例如,/etc/apache2/sites-available/000-default.conf):

<VirtualHost *:80>
   ServerAdmin me@mydomain.com
   ServerName dev.mydomain.com
   ProxyPreserveHost On

   # setup the proxy
   <Proxy *>
       Order allow,deny
       Allow from all
   </Proxy>
   ProxyPass / http://localhost:8888/
   ProxyPassReverse / http://localhost:8888/
</VirtualHost>

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