1. 程式人生 > >Apache配置域名轉發

Apache配置域名轉發

前言

先說明需求,公司之前的伺服器上有一個外包專案,現在要把新的專案放到伺服器,意味著同時兩個專案在一個伺服器下,所以需要通過二級域名來區分專案。得知外包專案用的Apache監聽80埠,目的是通過同一埠不同域名訪問不同專案。

環境

ubuntu apache tomcat

安裝apache,以及基礎配置等不做詳細分析

配置

1、首先找到apache安裝目錄
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)             

再次啟動,成功,瀏覽器訪問吧!