HTTPS HYBRIS:如何为SSL卸载配置Hybris

2020-09-19 04:55发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我正在尝试在负载均衡器中进行SSL卸载。 我正在处理配置,以便允许Hybris正常工作。 我附加了我的配置以显示我的方案。

Apache正面节点默认虚拟主机

  #RequestHeader设置X-Forwarded-Proto" https"
  ProxyPass"/"" ajp://172.23.24.153:8009/"
  ProxyPassReverse"/"" ajp://172.23.24.153:8009/"
  

Apache前端节点SSL虚拟主机

  #RequestHeader设置X-Forwarded-Proto" https"
  ProxyPass"/"" ajp://172.23.24.153:8009/"
  ProxyPassReverse"/"" ajp://172.23.24.153:8009/"
  

Tomcat Hybris使用端口8009上的AJP连接器

  
  

杂种:

  OOTB-无需修改spring-security-conf.xml

  

[客户浏览器] --- HTTPS ---> [LOADBALANCER HTTPS] ---- HTTP ---> [APACHE]-AJP13 ---> [HYBRIS-TOMCAT]->理想的工作配置 在Load Balancer中的SSL卸载中。

场景1)

使用先前的配置,我可以连接到我的hybris节点,但是一直以来,都使用spring-security-conf中定义的HTTPS连接。 xml OOTB,因此SSL卸载完成了负载均衡器,因为Apache-> Tomcat再次完成了SSL连接。 Hybris始终在HTTPS模式下始终工作,一切正常。 但是,这不是要完成的目标。

方案2)

在这种情况下,我从Apache虚拟主机中取消对" RequestHeader set X-Forwarded-Proto" https""的注释,并且当我尝试连接到Hybris时,连接使用HTTP。 我无需内部重定向即可进入我的网站。 该问题在注册用户时出现(例如),如以下错误所示:

  http://IP/site/zh/EUR/j_spring_security_check->服务器错误-> WARN [ajp-bio-8009-exec-60] [10.34.19.129] [PageNotFound]请求方法" POST" 不支持

  

看起来,此操作表单尝试建立HTTPS连接或其他内容,并且服务器崩溃。 " web/webroot/WEB-INF/config/spring-security-config.xml"的配置指令是什么,用以告诉hybris应用程序该连接是安全的,并且无需重写该连接? 是否缺少某些东西可以解决此问题?

关于,波城

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我正在尝试在负载均衡器中进行SSL卸载。 我正在处理配置,以便允许Hybris正常工作。 我附加了我的配置以显示我的方案。

Apache正面节点默认虚拟主机

  #RequestHeader设置X-Forwarded-Proto" https"
  ProxyPass"/"" ajp://172.23.24.153:8009/"
  ProxyPassReverse"/"" ajp://172.23.24.153:8009/"
  

Apache前端节点SSL虚拟主机

  #RequestHeader设置X-Forwarded-Proto" https"
  ProxyPass"/"" ajp://172.23.24.153:8009/"
  ProxyPassReverse"/"" ajp://172.23.24.153:8009/"
  

Tomcat Hybris使用端口8009上的AJP连接器

  
  

杂种:

  OOTB-无需修改spring-security-conf.xml

  

[客户浏览器] --- HTTPS ---> [LOADBALANCER HTTPS] ---- HTTP ---> [APACHE]-AJP13 ---> [HYBRIS-TOMCAT]->理想的工作配置 在Load Balancer中的SSL卸载中。

场景1)

使用先前的配置,我可以连接到我的hybris节点,但是一直以来,都使用spring-security-conf中定义的HTTPS连接。 xml OOTB,因此SSL卸载完成了负载均衡器,因为Apache-> Tomcat再次完成了SSL连接。 Hybris始终在HTTPS模式下始终工作,一切正常。 但是,这不是要完成的目标。

方案2)

在这种情况下,我从Apache虚拟主机中取消对" RequestHeader set X-Forwarded-Proto" https""的注释,并且当我尝试连接到Hybris时,连接使用HTTP。 我无需内部重定向即可进入我的网站。 该问题在注册用户时出现(例如),如以下错误所示:

  http://IP/site/zh/EUR/j_spring_security_check->服务器错误-> WARN [ajp-bio-8009-exec-60] [10.34.19.129] [PageNotFound]请求方法" POST" 不支持

  

看起来,此操作表单尝试建立HTTPS连接或其他内容,并且服务器崩溃。 " web/webroot/WEB-INF/config/spring-security-config.xml"的配置指令是什么,用以告诉hybris应用程序该连接是安全的,并且无需重写该连接? 是否缺少某些东西可以解决此问题?

关于,波城

付费偷看设置
发送
2条回答
亦是此间程序员
1楼-- · 2020-09-19 05:54

您可能需要设置 internalProxies 的值以匹配上游设备。 我猜它有一个B类私有地址,该属性未包含在此属性的默认设置中,因此该阀不允许您通过 protocolHeader 覆盖协议,因为它看到了 它源自不可信的地址。

请参见 https://tomcat.apache.org/ tomcat-7.0-doc/api/org/apache/catalina/valves/RemoteIpValve.html

10. \ d {1,3}。\ d {1,3}。\ d {1,3} | 192.168。\ d {1,3}。\ d {1,3} | 169.254。\ d {1,3}。\ d {1,3} | 127. \ d {1,3}。\ d {1,3}。\ d {1,3}默认情况下为10/8, 允许192.168/16、169.254/16和127/8; 默认情况下未启用172.16/12,因为用正则表达式描述很复杂

您可以将其设置为。* 以匹配所有内容,以确认您的https连接开始工作,但我建议将其设置为与您的实际网络基础结构匹配的内容。

例如

  
  

(由于您始终将它们设置为默认值,因此我省略了 remoteIpHeader proxiesHeader 属性)

Aaron 3364
2楼-- · 2020-09-19 05:34

访问要求CSRF保护的页面之前,我已经看到类似的症状。 CSRFHandlerInterceptor 注意,您尚未提交与会话匹配的有效csrf令牌,并转发您到登录页面。 登录页面抱怨它不支持POST。

但是我不确定为什么 j_spring_security_check 网址会与Spring MVC拦截器混为一谈,因为在此之前它应该由Spring Security过滤器方法处理。

无论如何,这可能会让您对从哪里开始寻找有所了解。

一周热门 更多>