Apache配置域名转发

前言

先说明需求,公司之前的服务器上有一个外包项目,现在要把新的项目放到服务器,意味着同时两个项目在一个服务器下,所以需要通过二级域名来区分项目。得知外包项目用的Apache监听80端口,目的是通过同一端口不同域名访问不同项目。

环境

ubuntu apache tomcat

安装apache,以及基础配置等不做详细分析

配置

1、首先找到apache安装目录
Apache配置域名转发_第1张图片

这里我的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


  ServerName www.abc.com (你的域名)

  ServerAlias www.abc.com (你的域名)

  ProxyPreserveHost On

  ProxyRequests Off
  # 代理重定向地址
  ProxyPass / http://localhost:8089/ (内网IP加端口 = 你的服务)

  ProxyPassReverse / http://localhost:8089/ (内网IP加端口 = 你的服务)

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)             

再次启动,成功,浏览器访问吧!

你可能感兴趣的:(linux)