请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册
查看: 656|回复: 0

使用宝塔反向代里HomeAssistant并添加SSL

[复制链接]

8

主题

0

回帖

101

积分

管理员

积分
101

开拓者勋章

发表于 2023-6-30 21:06:12 | 显示全部楼层 |阅读模式
在宝塔设置反向代理后直接访问报错:400: Bad Request
  • Home-Assistant使用反向代理要设置白名单,不然会拦截。

找错误中一些巧合
  • 在查第一个400: Bad Request报错原因时,看到一个回答是说因为反代配置加了websocket支持才报错,删掉就不报错了。
  • 而这个和我第二个问题撞上了,很是巧合。
  • 如果当时看到那个回答反其道而行之加上去,说不定早就解决了。

添加反代
  • 目标URL:http://[域名]:8123
  • 发送域名:域名
  • 添加如下代码:


  1. proxy_set_header Upgrade $http_upgrade;
  2.     proxy_set_header Connection "upgrade";
  3.     proxy_read_timeout 86400;
复制代码


这时添加前的:

  1. #PROXY-START/
  2. location ~* .(gif|png|jpg|css|js|woff|woff2)$
  3. {
  4. proxy_pass [url]https://hass.xxx.cn:8123;[/url]
  5.     proxy_set_header Host hass.xxx.cn;
  6.     proxy_set_header X-Real-IP $remote_addr;
  7.     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  8.     proxy_set_header REMOTE-HOST $remote_addr;
  9.     expires 12h;
  10. }
  11. location /
  12. {
  13.     proxy_pass [url]https://hass.xxx.cn:8123;[/url]
  14.     proxy_set_header Host hass.xxx.cn;
  15.     proxy_set_header X-Real-IP $remote_addr;
  16.     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  17.     proxy_set_header REMOTE-HOST $remote_addr;
  18.    
  19.     add_header X-Cache $upstream_cache_status;
  20.    
  21.     #Set Nginx Cache
  22.    
  23.     add_header Cache-Control no-cache;
  24. }

  25. #PROXY-END/
复制代码
这是添加后的:

  1. #PROXY-START/
  2. location ~* .(gif|png|jpg|css|js|woff|woff2)$
  3. {
  4. proxy_pass [url]https://hass.xxx.cn:8123;[/url]
  5.     proxy_set_header Host hass.xxx.cn;
  6.     proxy_set_header X-Real-IP $remote_addr;
  7.     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  8.     proxy_set_header REMOTE-HOST $remote_addr;
  9.     proxy_set_header Upgrade $http_upgrade;
  10.     proxy_set_header Connection "upgrade";
  11.     proxy_read_timeout 86400;
  12.     expires 12h;
  13. }
  14. location /
  15. {
  16.     proxy_pass [url]https://hass.xxx.cn:8123;[/url]
  17.     proxy_set_header Host hass.xxx.cn;
  18.     proxy_set_header X-Real-IP $remote_addr;
  19.     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  20.     proxy_set_header REMOTE-HOST $remote_addr;
  21.     proxy_set_header Upgrade $http_upgrade;
  22.     proxy_set_header Connection "upgrade";
  23.     proxy_read_timeout 86400;
  24.    
  25.     add_header X-Cache $upstream_cache_status;
  26.    
  27.     #Set Nginx Cache
  28.    
  29.     add_header Cache-Control no-cache;
  30. }

  31. #PROXY-END/
复制代码
Home-Assistant方面的设置获取反向代理源IP
  • 直接访问https://[域名]或者http://[域名]
  • 用ip或者http://[域名]:8123登录Home-Assistant
  • 添加SSL支持和反代白名单

    • 把.crt、.key证书文件拷贝到config目录
    • 打开configuration.yaml,添加如下配置(视情况修改),然后重启服务:


  1. http:
  2.   base_url: [域名]
  3.   ssl_certificate: [.crt文件]
  4.   ssl_key: [.key文件]
  5.   use_x_forwarded_for: true
  6.   trusted_proxies:
  7.     - 1.14.147.22
  8.     - 172.17.0.1
  9.     - 127.0.0.1
  10.     - ::1上面最下面那几个ip就是白名单列表,可以把公网IP和本地IP也写上去。
复制代码



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|CNOD社区 ( 苏ICP备12056560号-1 )

GMT+8, 2024-3-29 23:11 , Processed in 0.049459 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表