首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WAF环境、内部和外部URL中的PrimeFaces

问WAF环境、内部和外部URL中的PrimeFaces
EN

Stack Overflow用户
提问于 2020-11-03 17:45:01
回答 1查看 107关注 0票数 0

假设我们有一个内部的https://my.internal.url (在我们的例子中是一个Liferay ),并且来自一个web应用程序防火墙,一个指向这个内部https://my.external.url的外部https://my.external.url。

互联网用户正在使用外部URL。

PrimeFaces扩展了一些属性,例如

代码语言:javascript
复制
onclick="...;window.open('https://my.interal.url'..."

这就导致了CORS问题。

header Access-Control-Allow-Origin不是一个选项,因为内部URL是内部的。

我们将与WAF人员讨论网址替换的问题,但我想知道我们是否可以告诉PrimeFaces使用外部URL (或者可能是相对URL,以防这样做)。

门户不知道外部URL,但我们当然可以将其作为配置选项来实现。

(查看源代码,jsf/PrimeFaces外部有更多的内部URL出现,因此我也添加了救生筏标记)

更新

这个问题已经过时了,WAF必须正确地处理这个问题(以前的SSL环境是这样做的,而新的WAF环境没有)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-04 08:17:01

你说

门户不知道外部网址

但是,任何正确配置的反向代理(或WAF)都应该转发用于请求当前页面的实际主机名。

在Apache的mod_proxy_http上,这是通过选项ProxyPreserveHost On完成的。使用AJP转发时,主机将自动转发。其他WAF/代理配置当然也不同。但是生成URL的正确方法是让生成服务器知道它应该生成什么URL。

如果您需要担心正确的主机名,则需要通过请求来做到这一点: Liferay能够很好地使用虚拟主机名来区分不同的站点--如果它们完全不同,您可能会被注册到其中一个站点,而不是另一个站点。这对权限产生了影响。

让基础设施帮你处理。不要为它编写代码(或应用程序配置)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64667910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档