Apache配置域名轉發
阿新 • • 發佈:2019-02-09
前言
先說明需求,公司之前的伺服器上有一個外包專案,現在要把新的專案放到伺服器,意味著同時兩個專案在一個伺服器下,所以需要通過二級域名來區分專案。得知外包專案用的Apache監聽80埠,目的是通過同一埠不同域名訪問不同專案。
環境
ubuntu apache tomcat
安裝apache,以及基礎配置等不做詳細分析
配置
1、首先找到apache安裝目錄
這裡我的apache目錄如上圖,網上很多資料是配置檔案是修改httpd.conf,可能Ubuntu的原因,我的並沒有
所以這裡apache2.conf檔案是主配置檔案
2、修改apache2.conf
首行加入
NameVirtualHost 116.62.138.222 (外網IP)
檔案底部加入
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so
這裡注意這些檔案的路徑,跟安裝有關
# 監聽的80埠,http域名請求預設埠是80
<VirtualHost *:80>
ServerName www.abc.com (你的域名)
ServerAlias www.abc.com (你的域名)
ProxyPreserveHost On
ProxyRequests Off
# 代理重定向地址
ProxyPass / http://localhost:8089/ (內網IP加埠 = 你的服務)
ProxyPassReverse / http://localhost:8089/ (內網IP加埠 = 你的服務)
</VirtualHost>
3、重啟Apache
sudo /etc/init.d/apache2 restart
這裡啟動報錯了
檢視Apache日誌
systemctl status apache2.service
apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive globally to suppress this message
我們需要在apache2.conf內加入一行:
ServerName 116.62.138.222(外網IP)
再次啟動,成功,瀏覽器訪問吧!