Apache配置反向代理

时间:2024-11-14 08:27:45

为了让自己的spring boot项目能被域名直接访问,而不是IP:端口号的形式访问,需要用到反向代理,简单来讲就是把一个程序运行的地址映射到域名上,实现直接用域名访问。网上很多教程都是针对nignx的,而我用的是apache,也不想折腾把apache换成nignx,找了很久才找到一个可以用的,这里记录一下,方便下次使用。

1.开启Apache的代理模块

在确保Apache安装好之后,通过a2enmod proxy proxy_balancer proxy_http开启Apache的代理模块。

我用的是Ubuntu的Apache和centos下的Apache目录结构似乎有点不一样。

2.修改配置文件

切换到 /etc/apache2/sites-enabled 目录下,打开需要修改网站对应的配置

在这里插入图片描述

没有的话就新建一个对应的配置文件,文件的名字是二级域名的前缀.conf,比如我的域名是,

那么对应的网站是,这个好像也只是一个命名的习惯,不一样也没多大问题,这样主要是方便管理。

<VirtualHost *:80>

	ServerName  #这里填代理服务器的IP或域名
	ProxyRequests off #off表示开启反向代理  on表示开启正向代理
	ProxyPass / http://localhost:8080/  #被代理的网站,中间的那个/千万别少了,少了的话重启报错
	ProxyPassReverse / http://localhost:8080/  #被代理的网站
	
	# RewriteEngine on
	# RewriteCond   %{HTTPS} !=on
	# RewriteRule   ^(.*)  https://%{SERVER_NAME}$1 [L,R]

	ErrorLog ${APACHE_LOG_DIR}/
	CustomLog ${APACHE_LOG_DIR}/ combined

</VirtualHost>

上面的配置是将本地的8080端口运行的程序映射到这个域名上,这就达到了我的目的,服务器上运行的spring boot项目,能通过域名直接在公网访问。

3.重启apache生效配置

通过service apache2 restart 重启Apache,让配置文件生效。