文章目录
- 场景
- 一是使用匿名登陆,最简单方便
- 二是使用grafana颁发一个API Key。
场景
平台要集成grafana,想绕过用户登录,目前知道有2个方法。
前提:先修改配置defaults.ini/grafana.ini允许嵌入
allow_embedding = true
一是使用匿名登陆,最简单方便
这种方案的前提是你的公司允许匿名登陆grafana(其实我觉得没啥问题)但是从安全的角度来说确实不太好,那好,接着往下看吧。
二是使用grafana颁发一个API Key。
curl -H "Authorization: Bearer eyJrIjoiT2x0Zmhua3BCa2Z6TXpWUnBIT3UxSlV0M0lnWEhVYUYiLCJuIjoiZGV2b3BzcGxhdGZvcm0iLCJpZCI6MX0=" http://127.0.0.1:3000/api/dashboards/home
到这里就清晰了,只要增加一个Authorization就可以,最起码接口访问没问题。
问题:
1、最开始碰到的问题是代理后浏览器预检(即OPTIONS请求)过不去,那还玩啥,先过滤掉,看文末nginx配置。
2、vue中使用iframe碰到浏览器跨域问题
就加个nginx,配置允许跨域访问。结果访问是没问题,但是出现这么个报错。
解决方法:不要使用浏览器无痕模式访问,就可以访问
5、nginx配置
server {listen 3000;server_name localhost;location / {root html;index index.html index.htm;add_header Access-Control-Allow-Origin '*';add_header Access-Control-Allow-Methods '*';add_header Access-Control-Allow-Credentials true;proxy_set_header 'Authorization' 'Bearer eyJrIjoiajNERTZDZ1BUek5IMDFwenJhdGhudWtlejB2cDF4ZWMiLCJuIjoidGVzdCIsImlkIjoxfQ==';proxy_pass http://10.8.10.23:3000;# rewrite ^/(.*) /$1 break;proxy_set_header Host $host;if ($request_method = OPTIONS) {return 200;}# proxy_buffer_size 128k;# proxy_buffers 32 128k;# proxy_busy_buffers_size 128k;#server_name_in_redirect off;#proxy_set_header Host $host:$server_port;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}
参考: https://blog.csdn.net/qq_16240085/article/details/120996841