AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[mod-balancer](server)

Martin Hope
Radu
Asked: 2021-04-23 03:24:49 +0800 CST

Apache 反向代理 - 带有 Cookie 的 HTTP 请求

  • -1

我们有一个运行良好的 Apache 反向代理(配置如下)。现在我们需要将一些请求转发到另一台服务器(server3.domain.com)并检查用户请求中是否存在名为“LtpaToken”的cookie。如果 cookie 不存在,则会返回错误页面(我们要阻止匿名请求)。

我需要将 http(s)://server.domain.com/jsreports/* 转发到 JSReport 的 http(s) 服务器 VM( server3.domain.com IP 地址)并检查 LtpaToken 是否存在。

任何人都可以给出一些提示如何实施?谢谢!

        SSLEngine on
        SSLProxyEngine On
        SSLProxyVerify none
        SSLProxyCheckPeerCN off
        SSLProxyCheckPeerName off

ServerName server.domain.com
        ServerAlias server.com
        ProxyRequests Off
#   ProxyPreserveHost On
    
<Proxy balancer://my_cluster>
    BalancerMember https://server.domain.com keepalive=on
    BalancerMember https://server2.domain.com keepalive=on  status=+H
    AllowOverride None
    Order allow,deny
    allow from all
    
#   ProxySet lbmethod=byrequests
</Proxy>

 <Location /balancer-manager>
        SetHandler balancer-manager
        Order deny,allow
    Deny from all
        allow from 192.168.1
    allow from 5.5.20
    allow from 10.0.0
</Location>

    ProxyPass /balancer-manager !   
    ProxyPass / balancer://my_cluster/
    ProxyPassReverse / balancer://my_cluster/
reverse-proxy apache-2.4 http-cookie mod-balancer
  • 1 个回答
  • 470 Views
Martin Hope
Peter Sankauskas
Asked: 2010-03-27 15:59:15 +0800 CST

Tomcat over AJP 的 Apache 负载均衡器限制

  • 6

我让 Apache 在 3 个 Tomcat 服务器前充当负载平衡器。有时,Apache 会返回 503 响应,我想将其完全删除。就 CPU、内存或磁盘而言,所有 4 台服务器都没有承受很大的负载,所以我有点不确定是什么达到了它的限制或为什么。当所有工作人员都处于错误状态时返回 503 - 不管这意味着什么。以下是详细信息:

阿帕奇配置:

<IfModule mpm_prefork_module>
  StartServers           30
  MinSpareServers        30
  MaxSpareServers        60
  MaxClients            200
  MaxRequestsPerChild  1000
</IfModule>

...

<Proxy *>
  AddDefaultCharset Off
  Order deny,allow
  Allow from all
</Proxy>

# Tomcat HA cluster
<Proxy balancer://mycluster>
  BalancerMember ajp://10.176.201.9:8009 keepalive=On retry=1 timeout=1 ping=1
  BalancerMember ajp://10.176.201.10:8009 keepalive=On retry=1 timeout=1 ping=1
  BalancerMember ajp://10.176.219.168:8009 keepalive=On retry=1 timeout=1 ping=1
</Proxy>

# Passes thru track. or api.
ProxyPreserveHost On
ProxyStatus On

# Original tracker
ProxyPass /m  balancer://mycluster/m
ProxyPassReverse /m balancer://mycluster/m

Tomcat 配置:

<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JasperListener" />
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

  <Service name="Catalina">
    <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    <Engine name="Catalina" defaultHost="localhost">
      <Host name="localhost"  appBase="webapps"
          unpackWARs="true" autoDeploy="true"
          xmlValidation="false" xmlNamespaceAware="false">
    </Engine>
  </Service>
</Server>

阿帕奇错误日志:

[2010 年 3 月 22 日星期一 18:39:47] [错误] (70007) 指定的超时已过期:代理:AJP:尝试连接到 10.176.201.10:8009 (10.176.201.10) 失败
[2010 年 3 月 22 日星期一 18:39:47] [错误] ap_proxy_connect_backend 禁用(10.176.201.10)的工作人员
[2010 年 3 月 22 日星期一 18:39:47] [错误] 代理:AJP:无法连接到后端:10.176.201.10
[2010 年 3 月 22 日星期一 18:39:47] [错误](70007)指定的超时已过期:代理:AJP:尝试连接到 10.176.201.9:8009(10.176.201.9)失败
[2010 年 3 月 22 日星期一 18:39:47] [错误] ap_proxy_connect_backend 禁用 (10.176.201.9) 的工作人员
[2010 年 3 月 22 日星期一 18:39:47] [错误] 代理:AJP:无法连接到后端:10.176.201.9
[2010 年 3 月 22 日星期一 18:39:47] [错误] (70007) 指定的超时已过期:代理:AJP:尝试连接到 10.176.219.168:8009 (10.176.219.168) 失败
[2010 年 3 月 22 日星期一 18:39:47] [错误] ap_proxy_connect_backend 禁用(10.176.219.168)的工作人员
[2010 年 3 月 22 日星期一 18:39:47] [错误] 代理:AJP:无法连接到后端:10.176.219.168
[2010 年 3 月 22 日星期一 18:39:47] [错误] 代理:BALANCER:(balancer://mycluster)。所有工作人员都处于错误状态
[2010 年 3 月 22 日星期一 18:39:47] [错误] 代理:BALANCER:(balancer://mycluster)。所有工作人员都处于错误状态
[2010 年 3 月 22 日星期一 18:39:47] [错误] 代理:BALANCER:(balancer://mycluster)。所有工作人员都处于错误状态
[2010 年 3 月 22 日星期一 18:39:47] [错误] 代理:BALANCER:(balancer://mycluster)。所有工作人员都处于错误状态
[2010 年 3 月 22 日星期一 18:39:47] [错误] 代理:BALANCER:(balancer://mycluster)。所有工作人员都处于错误状态
[2010 年 3 月 22 日星期一 18:39:47] [错误] 代理:BALANCER:(balancer://mycluster)。所有工作人员都处于错误状态

负载均衡器top信息:

top - 23:44:11 up 210 天,4:32,1 个用户,平均负载:0.10、0.11、0.09
任务:总共 135 个,运行 2 个,睡眠 133 个,停止 0 个,僵尸 0 个
中央处理器:0.1%us、0.2%sy、0.0%ni、99.2%id、0.1%wa、0.0%hi、0.1%si、0.3%st
内存:总共 524508k,已使用 517132k,空闲 7376k,9124k 缓冲区
交换:总计 1048568k,已使用 352k,免费 1048216k,缓存 334720k

雄猫top信息:

top - 23:47:12 up 210 天,3:07,1 个用户,平均负载:0.02、0.04、0.00
任务:总共 63 个,1 个正在运行,62 个正在睡眠,0 个停止,0 个僵尸
中央处理器:0.2%us、0.0%sy、0.0%ni、99.8%id、0.1%wa、0.0%hi、0.0%si、0.0%st
内存:总共 2097372k,已使用 2080888k,可用 16484k,21464k 缓冲区
交换:总计 4194296k,已使用 380k,免费 4193916k,缓存 1520912k

Catalina.out 中没有任何错误消息。

根据 Apache 的服务器状态,它似乎达到了 143 个请求/秒的最大值。我相信服务器可以处理比它们实际更多的负载,因此任何有关低默认限制或其他原因导致此设置最大化的提示将不胜感激。

tomcat apache-2.2 load-balancing mod-proxy-ajp mod-balancer
  • 7 个回答
  • 43522 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve