当前位置: 首页 > news >正文

网站有备案是正规的吗郑州网站推广优化公司

网站有备案是正规的吗,郑州网站推广优化公司,提升学历选择哪种方式好,大型集团公司网站建设方案其他软件都可以通过nginx直接做代理添加鉴权,但是这个hass果然是用户安全隐私很强,做代理需要配置白名单,而且支持的三方鉴权都不太适合我的需求,非要改源码才行,后来我发现不用改源码的折中方式 参考文章 External …

其他软件都可以通过nginx直接做代理添加鉴权,但是这个hass果然是用户安全隐私很强,做代理需要配置白名单,而且支持的三方鉴权都不太适合我的需求,非要改源码才行,后来我发现不用改源码的折中方式

参考文章

  • External Authentication
  • Authenticating with external auth and oauth2_proxy to bypass homeassistant auth
  • Authentication Providers
  • HTTP(nginx代理hass)

在containerd中部署hass并集成sso

我是部署到kubernetes中的,参考链接

本地登录hass并创建一个长期的令牌

在这里插入图片描述

hass配置文件

# 配置nginx代理
http:use_x_forwarded_for: truetrusted_proxies:- 10.234.104.88 #这个地址是nginx服务的ip地址

nginx配置文件

server {listen       86;listen  [::]:86;server_name  localhost;#替换响应中的内容,类似于string.replace函数sub_filter '<head>' '<head><script>window.externalApp={getExternalAuth:function(){window.externalAuthSetToken(true,{"access_token":"第一步创建长期的令牌","expires_in":248832000});},revokeExternalAuth:function(){window.externalAuthRevokeToken(false);}};</script>';sub_filter_once on;location / {proxy_pass http://localhost:8123;#hass地址auth_request http://xxx/sso/auth;#sso鉴权接口地址proxy_set_header Host $host;proxy_set_header Accept-Encoding "";proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection $http_connection;proxy_set_header X-Real-IP $remote_addr; # //一层代理时是用户真实ip,二层代理时是第一台nginxipproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # //一层代理时没有值,多层代理里面会存储多个ip值,第一个值就是真实用户ipproxy_set_header X-Forwarded-Proto $scheme;}location /api/websocket {proxy_pass http://localhost:8123/api/websocket;auth_request http://xxx/sso/auth;#sso鉴权接口地址proxy_set_header Host $host;proxy_set_header Accept-Encoding "";proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection $http_connection;proxy_set_header X-Real-IP $remote_addr; # //一层代理时是用户真实ip,二层代理时是第一台nginxipproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # //一层代理时没有值,多层代理里面会存储多个ip值,第一个值就是真实用户ipproxy_set_header X-Forwarded-Proto $scheme;}location /auth/authorize {# tell nginx that this request requires authentication with oauth2_proxyauth_request http://xxx/sso/auth;#sso鉴权接口地址# redirect back to the frontend and tell it to use external_authreturn 301 /?external_auth=1;}
}

格式一下:

<script>window.externalApp = {getExternalAuth: function() {window.externalAuthSetToken(true, {"access_token": "第一步创建长期的令牌","expires_in": 248832000});},revokeExternalAuth: function() {window.externalAuthRevokeToken(false);}};
</script>

执行流程

  1. 用户访问nginx的86端口
  2. nginx会首先请求http://xxx/sso/auth这个地址,进行鉴权操作,响应码是200则会把请求转发到hass地址http://localhost:8123
  3. 如果鉴权失败返回了401等未授权响应码,那么nginx会直接返回给浏览器401错误,禁止访问hass,请先去sso登录认证
  4. 这里nginx代理hass的时候替换了响应的内容,添加了sub_filter<head><script>window.externalApp.......的内容,这里就是为了告诉hass执行外部授权认证,就会执行getExternalAuth函数获取token,这里直接返回我的长期令牌。因为我们在nginx做了鉴权了,这里不再鉴权。
http://www.ritt.cn/news/15619.html

相关文章:

  • 虚拟仿真中心 网站建设百度新闻官网
  • 响应式环保网站百度推广seo自学
  • 厦门网站制作策划网络推广的优化服务
  • 厦门市做网站优化中国搜索引擎大全
  • adobeXD做网站店铺100个关键词
  • iis 添加网站百度公司招聘条件
  • 网站开发自我介绍代码营销策划公司取名大全
  • 做的网站里面显示乱码怎么解决方法百度如何精准搜索
  • 网站怎么做谷歌推广产品推广哪个平台好
  • 平面设计可以做网站?宁波免费seo排名优化
  • 上海外贸推广建站我赢网客服系统
  • 整站seo排名公司企业seo服务
  • 前端效果网站东莞网站提升排名
  • 宝安住房和建设局网站电话百度竞价网站
  • 国外做的比较好的购物网站哪里可以引流到精准客户呢
  • 延庆宜昌网站建设seo优化推广工程师
  • 网站设计 网站开发 西安seo关键词优化举例
  • 上海网站建设建议免费推广引流平台推荐
  • 专门做吃播的网站关键词排名优化怎么做
  • 成都网站开发公司哪家好长春seo网站排名
  • 9420高清在线观看免费大全seo建站
  • 网站建设如何处理病毒木马seo 优化技术难度大吗
  • 网站如何做快排网络热词2023流行语及解释
  • 网页设计难学吗有技术含量吗河北seo网络优化培训
  • 网站更换主机seo的优化原理
  • 南通网站推广优化费用网络推广方案的内容
  • 阳江招聘网丰多采下载班级优化大师
  • 网站建设案列网站建设找哪家公司好
  • 深圳做网站建设开发淘宝seo推广优化
  • 互联网网站建设公司seo优质友链购买