CORS封锁要求

时间:2018-08-08 03:50:55

标签: cors reverse-proxy grafana apache2.4

我正在启用了通用oauth的grafana实例之前运行apache反向代理。

假设apache反向代理的IP为10.10.10.101 Grafana主机是10.10.10.102 和Keycloak服务器是10.10.10.103:31443

我在apache中有以下配置

<VirtualHost *:8081>
  RewriteEngine on
  RewriteRule ^/logout - [C]
  RewriteRule . "https://10.10.10.103:31443/auth/realms/MDC/protocol/openid-connect/logout?redirect_uri=http://10.10.10.102:8081/login" [NE,R=302,CO=grafana_sess:INVALID:;]
  RewriteRule ^/login$ /login/generic_oauth [L,R=302]

  ProxyPass / http://10.10.10.102:3001/
  ProxyPassReverse / http://10.10.10.102:3001/
  RequestHeader set X-Forwarded-Proto "https"

  Header set Access-Control-Allow-Origin "*"
  Header set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
  Header set Access-Control-Max-Age "1000"
  Header set Access-Control-Allow-Headers "*"

  # Added a rewrite to respond with a 200 SUCCESS on every OPTIONS request.
  RewriteEngine On
  RewriteCond %{REQUEST_METHOD} OPTIONS
  RewriteRule ^(.*)$ $1 [R=200,L]
</VirtualHost>

我有一个嵌入式grafana iframe的角度应用程序。 Angular应用程序具有注销选项,单击该选项可向http://apache-r-proxy:8081/logout发出请求,该请求将重定向到Keycloak以注销用户。

当我从grafana中注销时,我不会收到CORS错误,因为该请求是向同一后端发出的。

但是,当我向http://10.10.10.101:8081/logout发出显式请求时,即使设置了CORS标头,也会收到CORS错误。

我需要在哪里设置cors标头,以便可以调用http://10.10.10.101:8081/logout并且不会收到CORS错误

0 个答案:

没有答案