点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我们正在为后端系统使用几个虚拟主机名(URL)。 前面是一个Webdispatcher,我们在其中使用参数SRCVHOST来基于(虚拟)主机名转发请求。 这很好。
对于重定向到例如启动板或门户,我们使用参数icm/HTTP/redirect_x,它也可以正常工作。 (例如PREFIX =/,FOR = <门户的外部主机名>,TO =/irj/portal/)
现在,我想对HTTPS强制执行所有流量。 根据文档,这也应该使用相同的参数来完成。 例如,来自 help.sap.com ,页面底部的示例:
icm/HTTP/redirect_0 = PREFIX =/,FROM = *,FROMPROT = http,PROT = https,HOST = px155.sap.com
所有HTTP请求都重定向到HTTPS
这根本不是事实! 这确实从http重定向到https,但是仅针对主机名 px155.sap.com ! ! 在这种情况下,所有其他已访问的主机名都重定向到 px155.sap.com !
>另一种可能性是使用URL重写:
如果%{SERVER_PROTOCOL}!stricmp" https"
开始
RegIRedirectUrl/(.*)https://%{HTTP_HOST}/$ 1?%{QUERY_STRING} [code = permanent]
结束
但这确实一样! 我尝试为每个主机名添加重定向,但是始终应用第一个规则。
有人可以对所有流量,所有主机名强制执行https并且不更改URL吗?
你好,
根据您的评论,参数" icm/HTTP/redirect_X"将按预期工作。
您必须创建一个HTTP- >每个虚拟主机名的HTTPS重定向参数。
例如:
关于您尝试创建的修改规则,您的IF条件仅测试协议,而不测试主机名。 所以是的,第一个规则将始终适用。
我可能会使用" HTTP_HOST_NAME"而不是" HTTP_HOST",因为后者包含端口号,这是不希望的。
我相信 尽管我没有时间进行测试,但是以下代码可以解决问题:
如果%{SERVER_PROTOCOL}!stricmp" https"
RegIRedirectUrl ^/(。*)https://%{ HTTP_HOST_NAME}/$ 1?%{QUERY_STRING} [code = permanent]
此致
伊萨尼亚
一周热门 更多>