【发布时间】:2019-01-17 10:12:22
【问题描述】:
我有如下配置,基本上是grafana前面的反向代理。我将 /logout 请求转发到带有重定向 url 的身份验证服务器,并将 /login url 转发到 /login/generic_oauth。
只有当请求来自 grafana 本身时,我才想将 /logout 重定向到身份验证服务器,即只有当 grafana ui 发出请求时。
如果请求是由任何其他来源发出的,它应该转到反向代理并返回。基本上,当我从我的角度应用程序中注销用户时,我也会注销用户我的 grafana 应用程序。但是,由于我已将 /logout 链接到身份验证服务器重定向,因此在发出请求时出现 cors 错误。
RewriteEngine on
RewriteRule ^/logout - [C]
I want to excute this rule only if the request is from http://grafana-ip:3001
RewriteRule . "https://auth-server-ip:31443/auth/realms/MDC/protocol/openid-connect/logout?redirect_uri=http://auth-server-ip:8081/login" [NE,R=302,CO=grafana_sess:INVALID:;]
RewriteRule ^/login$ /login/generic_oauth [L,R=302]
ProxyPass / http://grafana-ip:3001/
ProxyPassReverse / http://grafana-ip:3001/
RequestHeader set X-Forwarded-Proto "https"
Header always set Access-Control-Allow-Origin "*"
Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
Header always set Access-Control-Max-Age "1000"
Header always set Access-Control-Allow-Headers "*"
当请求来自 grafana-ip 但不是来自任何其他来源时,我有什么方法可以执行规则
【问题讨论】:
标签: mod-rewrite apache2 apache2.4