本帖最后由 ghostist 于 2019-3-20 16:11 编辑
我希望的
------------------------------------------------
在HA侧边栏添加Portainer入口(其实还有Nodred emqtt HASSconfigurator),我是个小白,习惯了一切可视化
我是如何做的
------------------------------------------------
在configuration.yaml加入如下:
panel_iframe:
nodered:
title: 'Node-Red'
url: 'https://nodered.xxxxx.xxx:1234/'
icon: 'mdi:shuffle-variant'
edit:
title: 'Cfg-Edit'
url: 'https://edit.xxxxx.xxx:1234/'
icon: 'mdi:playlist-edit'
docker:
title: 'Portainer'
url: 'https://docker.xxxxx.xxx:1234/'
icon: 'mdi:docker'
然后小红和HASSconfigurator都OK,portainer不正常了,显示“xxx拒绝了我们的连接”
分析
------------------------------------------------
F12开发者模式看一下是怎么回事
然后就是一通股沟了 好像是portainer把X-Frame-Options默认设置成拒绝且无法修改然后在朋友的提示下,想利用反代绕过
解决
------------------------------------------------
为了访问方便,用了caddy做反代,不知道caddy怎么用的可以在论坛找一下教程,我是用官网的方式直接部署在宿主机上的
原来caddyfile这么写的
https://docker.xxxxx.xxx {
gzip
tls /usr/share/hassio/ssl/xxxxx.xxx.cer /usr/share/hassio/ssl/xxxxx.xxx.key
proxy / [url=http://127.0.0.1:3218]http://127.0.0.1:3218[/url] {
websocket transparent
header_upstream Host {host}
header_upstream X-Real-IP {remote}
header_upstream X-Forwarded-Proto {scheme}
}
log /usr/share/caddy/docker.log
}
加了一句header_downstream -X-Frame-Options变成如下
https://docker.xxxxx.xxx {
gzip
tls /usr/share/hassio/ssl/xxxxx.xxx.cer /usr/share/hassio/ssl/xxxxx.xxx.key
proxy / [url=http://127.0.0.1:3218]http://127.0.0.1:3218[/url] {
websocket transparent
header_upstream Host {host}
header_upstream X-Real-IP {remote}
header_upstream X-Forwarded-Proto {scheme}
header_downstream -X-Frame-Options
}
log /usr/share/caddy/docker.log
}
重启caddy服务生效
补充
------------------------------------------------
朋友用的是nginx,根据他的描述,加了一句
proxy_hide_header X-Frame-Options
可实现同样的效果
遗留问题
------------------------------------------------
梅林路由管理页好像是另外的一种结构,无法使用此方法,所以现在我还是单独访问的,没有集成到HA侧边栏
有知道怎么办的大佬不吝赐教
|