使用 Apache 將 IP@ 替換為 URL

使用 Apache 將 IP@ 替換為 URL

我剛剛在 CentOs 6.2 伺服器上安裝了一個 web 應用程式(確切地說是 sakai)。 sakai 可以透過 @ip:8080/portal 訪問,我需要用普通的 URL 替換該位址:www.exapmle.com/sakai

我已經替換了:

#<VirtualHost *:80>
# ServerAdmin [email protected]
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

經過

<VirtualHost @ip:80>
ServerAdmin webmaster@my_site.com
DocumentRoot /var/www/cmcf
ServerName my_site.com
ErrorLog logs/my_site.com-error_log
CustomLog logs/my_site.com-access_log common
</VirtualHost>

(我也嘗試過,<VirtualHost @ip:8080>因為我的網頁應用程式可以透過 @ip:8080/portal 訪問,但沒有成功)

但是當我嘗試從瀏覽器存取 sakai 時,出現 404 錯誤:

**Not Found
The requested URL /portal was not found on this server.
Apache/2.2.15 (CentOS) Server at cmcf.men.gov.ma Port 80**

我還嘗試將“/opt/apache-tomcat-7.0.29”(部署sakai的地方)作為DocumentRoot,(這可能是一個非常大的錯誤,但這是我第一次管理apache,所以.... ..)並且我也遇到同樣的 404 錯誤。

我很樂意收到您的任何建議。

答案1

堺管理指南有關於使用 Apache 部署 Tomcat 應用程式的資訊。

基本上,您需要將 Apache 設為某種反向代理,可以使用基本反向代理配置 (mod_proxy),其中您有以下內容:

ProxyPass /sakai http://localhost:8080/portal
ProxyPassReverse /sakai http://localhost:8080/portal

Tomcat 正在監聽 localhost:8080。

另一種方法是使用 mod_proxy_ajp 設定 Apache,這將使 Apache 以更原生的方式與 Tomcat 通訊。對於簡單的設置,您可以使用 mod_proxy。之後,您應該更了解 Web 堆疊的工作方式,即 Web 伺服器 (Apache) 和應用程式伺服器 (Tomcat) 之間的相互關係。

相關內容