『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 5570|回复: 2

[进阶教程] 使用nginx转发https安全访问Homeassistant(更适合外网访问)

[复制链接]

6

主题

15

帖子

359

积分

论坛分享达人

积分
359
金钱
344
HASS币
10
发表于 2020-7-5 23:48:41 | 显示全部楼层 |阅读模式
本帖最后由 banzhanglaolin 于 2020-8-13 19:59 编辑


增强外网访问homeassistant的安全性,利用nginx内网还是可以用之前的方式访问,外网访问时更加安全。

我们的homeassistant是不需要改配置的。想从外网访问的前提是有一个公网ip,解决办法也有很多可以自行百度






一、前期准备(nginx的安装和ssl证书的申请)
nginx的安装
如果是利用树莓派的话可以用 apt-get install nginx 进行安装
阿里云证书
证书可以在阿里云免费申请,前提是域名在阿里云中,下载证书时类型选择Apache下载即可解压后我们只需要***.key和***public.crt文件放到ssl文件夹中把对应的配置改好就可以了
免费的证书网站
免费证书国内证书自签网站
自签证书
我们前安装openssl
apt-get install openssl
转到/etc/nginx/ssl ,因为我们要把证书文件放到这个文件夹中; 如果没有的话用mkdir命令生成一个文件夹
cd /etc/nginx/ssl
生成服务器私钥(密钥长度2048)可以根据自己需求更改
openssl genrsa -out MyRoot.key 2048
利用密钥生成证书
openssl req -x509 -new -nodes -key MyRoot.key -sha256 -days 3650 -subj "/C=CN/ST=Zhejiang/L=Hangzhou/O=EMQ/OU=Broker/CN=访问域名" -out MyRoot.pem

二、对nginx进行设置
跳转到配置文件 cd /etc/nginx/sites-enabled/default  进入文件夹后将之前的文件夹备份 mv default default.lod
新建一个新的配置文件 nano default 将一下内容复制进去保存
server {
    server_name _;    #默认内外网都能通过443端口访问,把“_”替换成访问域名后只能通过域名访问
    listen 443 ssl;
    listen [::]:443 ssl;
    charset     utf-8;
    ssl_certificate /etc/nginx/ssl/********;  #自行替换证书文件
    ssl_certificate_key /etc/nginx/ssl/******; #自行替换私钥文件
    ssl_prefer_server_ciphers off;
    underscores_in_headers on;
    location / {
            proxy_pass http://127.0.0.1:8123;
            proxy_set_header Host $host;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";

        }

}


重新加载nginx配置文件
nginx -s reload
如果server_name 进行设定后,需要通过域名进行访问测试,默认的话可以通过服务器内网ip进行访问前面需要加https://

附加
感觉每次输入https://很麻烦的话可以设置nginx强制跳转到443端口

server {
           listen 80;
           listen [::]:80;
           server_name  _;   #默认内外网都能通过80端口访问,把“_”替换成访问域名后只能通过域名访问
           return 301 https://$host$request_uri;
        }


原文:HomeAssistant使用nginx转发HTTPS请求
目前已知问题:通过苹果手机内网访问代理地址无法登录到Homeassistant网页提示Unable to connect to Home Assistant,外网访问没有问题。(错误原因未知)安卓,电脑访问没有问题。

回复

使用道具 举报

106

主题

549

帖子

2745

积分

金牌会员

Rank: 6Rank: 6

积分
2745
金钱
2196
HASS币
20
发表于 2020-7-6 00:20:17 | 显示全部楼层
感谢分享,先收藏!
回复

使用道具 举报

0

主题

60

帖子

1323

积分

金牌会员

Rank: 6Rank: 6

积分
1323
金钱
1263
HASS币
0
发表于 2020-7-6 10:01:18 | 显示全部楼层
我用的花生壳   6块钱买个备案域名   
教程如下:http://u256.cn/index.php/post/262.html
我的设备是斐讯N1
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-20 16:04 , Processed in 2.951879 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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