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 / 问题 / 429604
Accepted
SyRenity
SyRenity
Asked: 2012-09-19 11:28:03 +0800 CST2012-09-19 11:28:03 +0800 CST 2012-09-19 11:28:03 +0800 CST

使用 mod_cluster 保护 SSL 请求?

  • 772

如果我在安全 LAN 中同时拥有 httpd 和 JBoss,是否可以在 httpd 处终止 SSL 请求,并通过 mod_cluster 将请求传递给可用的 JBoss?

知道涉及什么配置吗?

ssl
  • 2 2 个回答
  • 4690 Views

2 个回答

  • Voted
  1. Michal Karm Babacek
    2012-11-15T07:50:42+08:002012-11-15T07:50:42+08:00

    你可以

    1. 仅保护从客户端到您的平衡器的连接,并将平衡器——工作网络视为可信:

      客户端<--SSL-->平衡器<--AJP/HTTP-->workers

    2. 或者你可以保护整个路径(注意:根据定义,Balancer 实际上是 ManInTheMiddle 攻击 :-),所以你将不得不隐式地信任你的平衡器对工人......)

      客户端<--SSL-->平衡器<--SSL-->工人

    2) 选项具有严重的性能缺陷。我将向您展示如何做到这两点:

    1) httpd:

    <IfModule manager_module>
      Listen 8888
      ManagerBalancerName qacluster
      <VirtualHost localhost:8888>
      ServerName localhost:8888
        <Directory />
          Order deny,allow
          Deny from all
          Allow from all
        </Directory>
    
        ServerAdvertise on
        EnableMCPMReceive
        AdvertiseGroup 224.0.1.105:6666
    
        <Location /mcm>
          SetHandler mod_cluster-manager
          Order deny,allow
          Deny from all
          Allow from all
       </Location>
    
       SSLEngine on
       SSLCipherSuite AES128-SHA:ALL:!ADH:!LOW:!MD5:!SSLV2:!NULL
       SSLVerifyDepth 10
       SSLCertificateKeyFile /home/karm/Server/server.key
       SSLCertificateFile /home/karm/Server/server.crt
       SSLCACertificateFile /home/karm/Server/myca.crt
       LogLevel debug
    
      </VirtualHost>
    </IfModule>
    

    AS7:

    <subsystem xmlns="urn:jboss:domain:modcluster:1.1">
        <mod-cluster-config advertise-socket="modcluster" advertise="true" sticky-session="true" sticky-session-remove="false" sticky-session-force="false" connector="ajp">
            <dynamic-load-provider history="10" decay="2">
                <load-metric type="busyness"/>
            </dynamic-load-provider>
            <ssl key-alias="javaclient" password="tomcat" certificate-key-file="/home/karm/Client/client-cert-key.jks" cipher-suite="AES128-SHA:ALL:!ADH:!LOW:!MD5:!SSLV2:!NULL" ca-certificate-file="/home/karm/Client/ca-cert.jks"/>
        </mod-cluster-config>
    </subsystem>
    

    现在 AS7 仅使用 HTTPS 将 Mod_cluster 消息发布到平衡器。其他 Balancer -> AS7 通信(如客户端的请求)未加密,因为它使用 AJP。

    2) httpd:

    +++
    SSLEngine on   
    +SSLProxyEngine On
    +++
    

    AS7:

    +++
    -<connector name="ajp" protocol="AJP/1.3" scheme="ajp" socket-binding="ajp"/>
    +<connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" secure="true">
    +    <ssl name="https" key-alias="javaclient" password="tomcat" certificate-key-file="/home/karm/Client/client-cert-key.jks" cipher-suite="AES128-SHA:ALL:!ADH:!LOW:!MD5:!SSLV2:!NULL" protocol="TLS" verify-client="false" certificate-file="/home/karm/Client/client-cert-key.jks" ca-certificate-file="/home/karm/Client/ca-cert.jks"/>
    +</connector>
    +++
    -<mod-cluster-config advertise-socket="modcluster" advertise="true" sticky-session="true" sticky-session-remove="false" sticky-session-force="false" connector="ajp">
    +<mod-cluster-config advertise-socket="modcluster" advertise="true" sticky-session="true" sticky-session-remove="false" sticky-session-force="false" connector="https">
    +++
    

    关于 2)

    • 请注意 verify-client="false",您无法验证客户端,因为请求是通过平衡器发出的...
    • 注意性能下降。
    • 注意一个讨厌的错误https://issues.jboss.org/browse/JBPAPP-9493(可能也会影响当前的 Mod_cluster)

    HTH

    干杯

    • 4
  2. Best Answer
    Jeff Ferland
    2012-09-19T11:37:14+08:002012-09-19T11:37:14+08:00

    默认情况下,mod_cluster 将终止您的 SSL 连接并将未加密的信息传递给后端。有关说明,请参阅http://docs.jboss.org/mod_cluster/1.0.0/html/UsingSSL.html。

    请注意第 12.2 节,其中显示了在代理和后端服务之间使用 SSL 所需的额外配置。第 12.3 节展示了如果您的应用程序有某种原因需要关注它,如何转发有关已终止的 SSL 会话的信息。

    • 2

相关问题

  • 如何使用 Tomcat 5.5 更新 SSL 证书

  • 为 IIS6 自行生成 SSL 证书?

  • plesk 上的域和子域 ssl 访问

  • 如何设置 SSL 邮件服务器?

  • 如何通过 SVN 命令行接受 SSL 证书?

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