如何使用Mellon身份验证设置Apache反向代理

时间:2020-09-28 12:45:52

标签: mod-rewrite apache2 reverse-proxy mod-auth mellon

我正在尝试使用Mellon身份验证的反向代理。我已经启用了mod_rewrite和mod_proxy模块。

我为应用程序提供的实际URL:“ https://elkdev.automation.pega.io”

以下是443端口上的apache配置文件:

RewriteEngine on

RewriteCond %{HTTP_REFERER} ^https://login.microsoftonline.com/$ [NC]
RewriteRule ^(/.*)?$ http://elkdevhost.automation.pega.io:5601/ [P]
ProxyPassReverse / http://elkdevhost.automation.pega.io:5601/

<Location />
    Require valid-user
    AuthType "Mellon"
    MellonEnable "auth"
    MellonSPMetadataFile "/etc/apache2/saml2/mellon_metadata.xml"
    MellonSPPrivateKeyFile "/etc/apache2/saml2/mellon.key"
    MellonSPCertFile "/etc/apache2/saml2/mellon.crt"
    MellonIdPMetadataFile "/etc/apache2/saml2/idp_metadata.xml"
</Location>


当我点击“应用程序URL”时,该页面使用 Location 的配置重定向到IDP身份验证页面(Microsoft)。身份验证完成后,IDP页面回复URL将为应用程序URL(https://elkdev.automation.pega.io),该URL与初始URL相同。因此,请求再次返回到同一页面。现在,为了区分请求,我将HTTP_REFFERER标志与 RewriteCond 一起使用。当此条件匹配时,将执行 RewriteRule ,因此请放置一个代理URL。

在这里,带有 [P] 的RewriteRule无法正常工作,并显示404错误。

RewriteRule ^(/.*)?$ http://elkdevhost.automation.pega.io:5601/ [P]

带有 [R] 标志的它可以正确地重定向到给定的URL。但是URL也在按预期变化(如预期)。

RewriteRule ^(/.*)?$ http://elkdevhost.automation.pega.io:5601/ [R]

我的问题是为什么我在使用 [P] 标志

时不进行代理

0 个答案:

没有答案