Apache反代理Tomcat项目,分离应用服务器和WEB服务器

项目的原理是使用单独的机器做应用服务器,再用单独的机器做WEB服务器,从网络需要访问我们的应用的话,就会先经过我们的WEB服务器,再到达应用程序,这样子的好处是我们可以保护应用程序的机器位置,同时还可以实现流量控制负载均衡等。首先我们需要在应用服务器上启用Tomact项目,Tomcat的安装和配置不在这里做详细讲解

确认不同机器IP

在Windows下使用命令ipconfig查看IP地址,要看你使用的对应网卡的IPv4地址,如图我把应用部署在Windows上,应用服务器的IP是10.53.219.171

接着来看看我们的WEB服务器IP,用Linux机器可以用ipconfig查看机器的IP地址,我的服务器IP地址为172.24.65.44

安装Apache2

我使用的服务器为Ubuntu服务器,安装Apache服务的命令为

bash 复制代码
 sudo apt install apache2

安装好后可以用以下命令查看一下服务的运行状态

bash 复制代码
 sudo systemctl status apache2

如下图所示表示运行正常

防火墙放行端口

bash 复制代码
sudo ufw allow 80

配置模块

我们要用到代理和htpp两个模块,相关的启动命令为

bash 复制代码
sudo a2enmod proxy
sudo a2enmod proxy_http

加载完成两个模块之后可以重启一下Apach服务

bash 复制代码
sudo service apache2 restart

编写配置文件

代理的配置文件要存放在这个文件夹 /etc/apache2/sites-enabled/ 配置文件一般以域名或者IP+.conf命名,比如我的服务器IP为172.24.65.44,我就新建一个172.24.65.44.conf,具体内容如下

bash 复制代码
<VirtualHost *:80>
        ServerName 172.24.65.44
        ProxyRequests Off
        ProxyMaxForwards 100
        ProxyPreserveHost On
        #反代理要解析的ip 支持添加端口
        ProxyPass / http://10.53.219.171:8080/
        ProxyPassReverse / http://10.53.219.171:8080/

        <Proxy *>
                Order Deny,Allow
                Allow from all
        </Proxy>
</VirtualHost>

配置好之后重启Apache

bash 复制代码
sudo service apache2 restart

查看效果

代理成功,浏览器输入WEB服务器的IP被映射到了应用服务器的8080端口

相关推荐
丹宇码农2 小时前
把 HLS 字幕玩出花:zwPlayer 如何让 M3U8 视频支持全文搜索、翻译与码率自适应
前端·javascript·音视频·hls·视频播放器
2501_943782352 小时前
【共创季稿事节】猜数字游戏:二分法思维与交互式反馈
前端·游戏·microsoft·harmonyos·鸿蒙·鸿蒙系统
GV191rLvq3 小时前
基于Socket实现的最简单的Web服务器【ASP.NET原理分析】
服务器·前端·asp.net
吠品3 小时前
LangChain 里 tool_call_id 为空?一次 MCP 工具集成的排查记录
前端
微信开发api-视频号协议3 小时前
企业微信二次开发中的文件系统设计:媒体资源、临时文件与业务附件
前端·微信·企业微信·媒体·ipad·微信开放平台
柒和远方3 小时前
Phase 7.4 学习博客:为什么多 API 项目需要 Swagger / OpenAPI
前端·后端·架构
张龙6873 小时前
拼多多开放平台对接踩坑实录:从 CLIENT_ID 配置到 MD5 签名算法的完整填坑指南
前端
GuWenyue3 小时前
提示词彻底过时?一套上下文工程方案,3步让LLM落地生产,代码直接复用
前端·javascript·人工智能
柒和远方3 小时前
Phase 7.3 复盘:后台任务不只是“扔进队列”,还要能被看见
前端·后端·架构