当前位置: 首页 > news >正文

Apache + Tomcat + ajp 协议配置

前端 web 服务器使用 apache 的好处就不在赘述,这里重点讲一下如何使用 ajp 协议和 http 协议与后端 tomcat 服务器通信的区别。

apache作为代理服务器可以使用 http 协议与后端 tomcat 服务器进行通信,也可以使用 ajp 协议与 tomcat 通信。两者的主要区别如下:

ajp:使用二进制进行通信,拥有极高的效率,同时也会耗费更多的系统资源;

http:使用超文本与 tomcat 通信,效率略差,但是灵活性更高;

根据经验,ajp 大约可以提高 20% 的运行效率,但是如果你考虑到以后更换前端代理服务器的话,就不要使用 ajp 协议了,http 协议可能是最好的选择,因为更通用。

apache中的配置大致如下:

<VirtualHost *:80>ServerName www.eagsen.comProxyRequests OffProxyPreserveHost OnProxyPass / ajp://172.17.0.3:8009/project/ProxyPassReverse / ajp://172.17.0.3:8009/project/ProxyPassReverseCookiePath / /ErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

apache 配置以后,tomcat 的 server.xml 配置中,取消如下配置的注释:

    <Connector protocol="AJP/1.3"address="::"port="8009"redirectPort="8443"maxParameterCount="1000"/>

到这里,你访问 www.eagsen.com 时,仍然会发生 500 错误,因为 tomcat 中还有一个安全验证的机制,如果没有其他更高级的验证,则需要显示地取消,就是在上述配置中增加一个  secretRequired="false" ,完整的配置如下:

    <Connector protocol="AJP/1.3"address="::"port="8009"secretRequired="false"redirectPort="8443"maxParameterCount="1000"/>

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Android13禁用Settings里面的Force Stop 強制停止按钮
  • 浏览器精度问题
  • Vue3常见知识**MS【4】
  • 【案例56】安全设备导致请求被拦截
  • 【PGCCC】PostgreSQL线程池技术揭秘:从原理到实战应用
  • Broadcast Hash Join
  • 【RabbitMQ】快速上手
  • linux内核驱动:pca953xIO扩展芯片驱动总结
  • Swift concurrency 3 — 三种异步方式(@escaping closure, Combine, async/await)
  • CAPL——定时器用法
  • Vue3:命名路由
  • 9-3 深度循环神经网络
  • 【微信小程序】全局数据共享 - MobX
  • 如何用Python调用智谱清言api进行智能问答
  • 【Java 设计模式】Business Delegate 模式:简化业务服务交互
  • Date型的使用
  • JS数组方法汇总
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • vuex 学习笔记 01
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 深入浏览器事件循环的本质
  • 智能合约开发环境搭建及Hello World合约
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • MyCAT水平分库
  • ## 1.3.Git命令
  • (a /b)*c的值
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (Windows环境)FFMPEG编译,包含编译x264以及x265
  • (二)Eureka服务搭建,服务注册,服务发现
  • (二开)Flink 修改源码拓展 SQL 语法
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .NET 4.0中的泛型协变和反变
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .net反编译的九款神器
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • :中兴通讯为何成功
  • @在php中起什么作用?
  • []使用 Tortoise SVN 创建 Externals 外部引用目录
  • [Asp.net MVC]Asp.net MVC5系列——Razor语法
  • [BZOJ1010] [HNOI2008] 玩具装箱toy (斜率优化)
  • [CentOs7]图形界面
  • [COGS 622] [NOIP2011] 玛雅游戏 模拟
  • [Design Pattern] 工厂方法模式
  • [Flex] PopUpButton系列 —— 控制弹出菜单的透明度、可用、可选择状态
  • [Hello-algo] 复杂度分析
  • [Kubernetes] etcd 单机和集群部署
  • [Linux] 系统管理
  • [Linux]进程间通信(system V共享内存 | system V信号量)