2017-06-03 48 views
0

我正在運行apache 2.4.7,目前我的所有流量都將轉到同一服務器/實例上的8080上的後端服務器。如何配置apache2子域以路由到不同的服務器

我希望我的WWW流量去一個新的服務器/實例和我的所有其他子域(應用程序,API等)去到現有的8080

有人可以提供一些方向?

幫助讚賞。

<VirtualHost *:80> 
ProxyPreserveHost On 
ServerAdmin [email protected] 
ServerName example.com 
Redirect "/" "https://www.example.com/" 
    RewriteEngine On 
    RewriteCond %{HTTP:X-Forwarded-Proto} !https 
    RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} 
ServerAlias www.example.com 
DocumentRoot /var/www/example.com/public_html/ 
Redirect "/ft/" "/" 
ErrorLog /var/www/example.com/logs/error.log 
CustomLog /var/www/example.com/logs/access.log combined 
ProxyPass/http://0.0.0.0:8080/ 
ProxyPassReverse/http://0.0.0.0:8080/ 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 

回答

0

如果你想要做一個外部重定向爲www子域的新服務器,您需要將以下添加到您的配置,在其他重寫規則:

RewriteCond ${HTTP_HOST} ^www\. [NC] 
RewriteRule^https://www.example.com/${REQUEST_URI} [L,R=301] 

而你需要刪除ServerAlias指令。這也假設你已經將DNS指向新的主機。


如果服務於www內容的新的框是另一種支持的服務器,你就需要另一個虛擬主機。在頂部添加以下代碼:

<VirtualHost *:80> 
    ServerName www.example.com 
    ProxyPass/http://other-box/ 
    ProxyPassReverse/http://other-box/ 
</VirtualHost> 

而且您仍然需要刪除ServerAlias指令。

相關問題