Linux

將埠 80 轉發到 8080 失敗

  • September 11, 2015

我正在嘗試將埠從 80 轉發到 8080(預設為 tomcat)。下面是我添加到 httpd 文件的內容。

<VirtualHost www.example.com:80> 
     ProxyPreserveHost On
     ProxyRequests Off
     ServerName www.example.com
     ServerAlias example.com
     ProxyPass / http://localhost:8080/
     ProxyPassReverse / http://localhost:8080/
   </VirtualHost>

添加後,沒有任何變化的跡象。程式碼有什麼問題嗎?

Centos 5.9

apache 2.2

tomcat 7

whm/cpanel。

更新: 在此處輸入圖像描述 我的目標域是 www.99rounds.com:80 直接到 :8080

更新 2 添加答案中的程式碼並刪除 2 行日誌後。我得到: 在此處輸入圖像描述 請注意,centos 具有內置的 mod_proxy 支持,如果我強制它:loadModule …它會給我一個錯誤,說它是內置的。

我有一個關於如何在此處設置 Apache 反向代理的詳細答案。

查看您提供的配置:

<VirtualHost www.example.com:80> 
 ProxyPreserveHost On
 ProxyRequests Off
 ServerName www.example.com
 ServerAlias example.com
 ProxyPass / http://localhost:8080/
 ProxyPassReverse / http://localhost:8080/
</VirtualHost>

我會建議以下內容。我假設有一些東西——比如 ErrorLog 和 CustomLog——但這是我設置的方式。我相信的關鍵是ServerName&ServerAlias結合<VirtualHost *:80>

<VirtualHost *:80>
 ServerName www.99rounds.com
 ServerAlias 99rounds.com www.99rounds.com

 ErrorLog /var/log/apache2/www.99rounds.com.error.log
 CustomLog /var/log/apache2/www.99rounds.com.access.log combined

 # Settings for Apache Reverse Proxy
 <IfModule mod_proxy.c>

   # Proxy specific settings
   ProxyRequests Off
   ProxyPreserveHost On

   <Proxy *>
     AddDefaultCharset off
     Order deny,allow
     Allow from all
   </Proxy>

   ProxyPass / http://localhost:8080/ 
   ProxyPassReverse / http://localhost:8080/ 

 </IfModule>

</VirtualHost>

**編輯:**還要確保您已在伺服器上啟用mod_proxymod_proxy_http啟用:

sudo a2enmod proxy
sudo a2enmod proxy_http

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