基思,
我不确定我是否喜欢或希望这样,因为如果您的internet(或duckdns)宕机了,就无法访问您的HA实例
即,你总是需要来自duckdns.org
或者一直改变你的配置:- \\\

这里有一些不正确的假设。我会试着澄清一下。

  1. DuckDns只是提供一个DNS别名(或“a”)记录,可以通过运行在非静态IP后面的机器上的一个小脚本动态更新该记录。这个DNS别名将合理地与您当前的IP最新。有一个DNS查找,但是DuckDns没有传输到本地HA实例。

  2. Let 's Encrypt提供了一个证书,以便您可以使用HTTPS。如果您将HomeAssistant配置为使用您的DuckDns域名创建的证书,那么现在这是您可以连接到该HomeAssistant实例的唯一方法—不再通过IP地址,因为不再有HTTP方式到达它。

  3. 公钥/私钥都是通过web服务器和浏览器之间的协商来处理的。我们不需要讲这么多细节。

  4. 端口443是默认的HTTPS端口,而80是默认的HTTP端口。您不需要使用默认端口,这是最简单的操作。你恰好提到了这一点。

  5. 关于点2。之所以有些人(包括我自己)已经配置了NGINX反向代理使用他们的加密证书而不是HA本身是我们可以两全其美——从互联网方面,我得到一个HTTPS-exposed服务(NGINX) HTTPS的解密数据,并将其转发到我的内部HA实例上(未加密)端口8123。有很多文档介绍了如何设置NGINwww.19463331.comX来实现这一点。我家里的所有东西都是HTTP,但所有暴露在互联网上的东西都是HTTPS。DuckDNS和Let’s encrypt与Home Assistant完全分离。19463331伟德国际

2喜欢

谢谢,但我看了Juan的视频,它只显示了DuckDNS部分,没有关于nginx
正如我之前所说的,我不想关闭本地访问,也不想不断改变我的配置。
抱歉,但没有用
不管怎么说,还是要谢谢你
笨蛋

你试过我发布的链接指南了吗?

Crhass,
谢谢,我做了,我正要回复steve edinn,因为他给了我我需要的提示。
但我不得不说,你的链接给了我所需的解决方案中的肉和两个蔬菜。
我欠你(以及上面提到nginx的其他人)一个巨大的债务
感谢所有
笨蛋

SteveDinn,
你给了我所需的线索。
不可否认,nginx船员做了大部分沉重的举重,但你的线索将我倒在边缘。
我已经设置并运行了DuckDNS,日志看起来很干净
NGINX启动并运行,日志看上去干净和改/键生成thang就好了(没几次,所以我别无选择,只得退一步一个级别,重新开始)终于完成了,我松了一口气(一定是我拿着我的舌头!)
我有什么在我的配置文件关于http:或类似;-)))))
无论如何,我仍然没有得到任何快乐。
我正在读你的帖子和比特“DuckDNS中继没有流量到您当地的HA实例“打我。
我有一个Draytek Privor 2762ac调制解调器路由器(我的旧路由器1.需要每3到6周重新启动每3到6周2.只能保留32项的固定IP地址。3.不是AC)
所有路由器的端口转发选项略有不同,但我阅读并检查了选项,无论如何,其中一个选项是从它产生的地方配置端口转发,所以我做了一个DNS查找duckdns.org并将其IP地址(后来甚至是所有AWS服务器范围)填入转发源。
这是什么阻止了我,因为数据不是来自那里,但从任何NAT我连接通过我的局域网外
ta da !!!
许多,许多,许多,许多,许多,谢谢
笨蛋

我将写下我为其他人所做的事情,因为我肯定地认为nginx是正确的方式,并为本地维护您的标准8123

1像

好吧,
正如您从上面可以看到的,对于可以/应该使用哪些端口存在很多混淆。
有些人说在本地端必须是8123,并且你必须在你的配置中指定一个http:条目。不,你不知道!:笑脸:

Edit (20200512) : ‘sometime’ since this post was written the configuration no longer likes some of the “quotes” so I have included what the ‘modern’ versions of the config are, Note: I did not set it up with these (they were changed by updates to the packages) so can not testify to their equivalency, if you have problems, get back to me and I’ll update this post again.

列表:

  1. 安装DuckDNS
  2. 安装NGINX(从核心插件)
  3. Portforward 443外部到YourHAInstanceIPAddr:443内部(小心你的路由器,记住上面的帖子,这是我的绊脚石)
  4. (不确定这是必要的,但是…)Portforward 80外部到YourHAInstanceIPAddr:80内部
  5. 找出路由器的WAN IP地址是什么(确保这不是通过CGNAT(基本上的NAT分层),因为它不会在WWW上意味着任何内容。
  6. 转到duckdns.org并输入您的WAN IP地址,并生成您的令牌(记录此和您的子域duckdns.org如。myfortressofsolitude.duckdns.org
  7. 返回DuckDNS添加并更改为配置: -
{“lets_encrypt”:{“accept_terms”:true,“certfile”:“purechain.pem”,“keyfile”:“privkey.pem”},“令牌”:“123456wouldntyouliketoknow123456”,“域”:[“mybortressofsolitude.duckdns.org“”,“秒”:300}

显示的引号是必要的编辑:最近的实现删除引号,如果你的做了同样的“它一定是好的”- (edit2(3月2021):语法检查似乎略有繁重,要求存在空键“别名:[]”,如下所示)。以下是我现在的样子: -

Lets_encrypt: accept_terms: true certfile: fullchainpem密钥文件:privkey。Pem token: 123456nottyouliketoknow123456 domains: myfortressofsolitude.duckdns.org aliases: [] seconds: 300
  1. 保存并启动您的DuckDNS
  2. 转到你的NGINX Add On并将配置更改为

{
“域”:“myfortressofsolitude.duckdns.org”,
“certfile”:“fullchain.pem”,
“密钥文件”:“privkey.pem”,
“高水位”:“信息= 31536000;includeSubDomains”,
"自定义":{
“活跃”:假,
“默认”:“nginx_proxy_default * . conf”,
“服务器”:“nginx_proxy / * . conf”
}
}
同样,引号是必要的,端口不是,https://前缀也不是编辑:最近的实现删除引号,如果你的做了同样的“它一定是好的”再一次;这是我现在的样子:-

域名:MyBredresSofSolitude.duckdns.org certfile:fullchain.pem keyfile:privkey.pem hsts:max-age = 31536000;包含UBDOMAINSCloudFlare:False Customize:Active:False默认值:nginx_proxy_default * .conf服务器:nginx_proxy / *。conf
  1. 保存并启动你的NGINX(保持刷新日志直到它生成parms/keys并说" starting NGINX…"然后再等待60秒。
  2. 转到您的配置.YAML并在http下注释出任何东西:包括“http:”本身
  3. 重新启动路由器(确认,确认)
  4. 重新启动您的HASS实例(确保,确保,确保)
  5. 转到https://myfortressofsolitude.duckdns.org并登录您的HA实例(您确实设置了密码等。不是吗眨眼::crazy_face:
  6. 现在,您可以返回并删除端口80的端口转发,并从nginx中删除相同的端口转发(如果您这样做了的话)。有人说端口80对于生成密钥和进行设置duckdns的协商是必要的——我不知道
  7. 现在,您“应该”能够在本地访问您的HA(局域网和xxx.xxx.xxx. xxx.)。xxx: 8123或hassio。local:8123(随便吧,我从来没用过)和Remote (https://xxxx.duckdns.org.(注:外部无端口号)
  8. 去喝一杯庆祝一下,这是你应得的!:派对_face:

注意:我注意到我的证书自上述安装以来已经“自我更新”了两次,这是仅暴露端口443(但加密),我自己没有干预。

编辑:我注意到,截至20191114 - 7人点击了https://myfortressofsolitude.duckdns.org-只是让你知道,我没那么蠢!:crazy_face:
20200202这是29人点击 - 真的,你认为你会发现什么?

33岁的喜欢

我真的建议启用多因素身份验证模块
这是您的个人资料设置(右下角)
它会引导你从那里开始做你必须做的事情

Np:least_smile:他仍然有一些优秀和文档的视频享受。如果我找到与您的问题有关的任何相关的话,将让您发布

12号惊讶我。我认为有必要离开HTTP:进入HTTP界面,但如果您不想使用默认设置,才会出现它。

多年来我一直在努力实现这个目标,今天才弄明白!非常感谢!

1像

有任何指南设置类似的HA运行docker容器在ubuntu服务器?

1像

不,我认为如果你运行的是一个“功能齐全”的操作系统,那么默认情况下你有更多的选项。
您可以查看类似包的GitHub或查看Tor,Zero Tier On等,有或没有类似Nginx Proxy Manager的东西。
这可能需要一些实验,但你可以为下一个人写下来。

有人用Fios G3100千兆路由器运行DuckDNS吗?我相信这是他们最新的路由器,由于某种原因,我不能让端口转发工作。我设置它就像之前的路由器转发443到Hasio 443,但它似乎仍然被阻塞。任何想法吗?

您的问题与鸭子无关,更具体的是硬件。
您应该启动与该设备相关的新线程以及您所拥有的问题。

你好,

我对家庭助手很陌生,一直在努力让19463331伟德国际我的DuckDNS / NGINX配置工作,直到我引用了这篇文章。我现在的问题是NGINX配置建议你不需要ssl_certificate和ssl_key的DuckDNS配置。

如果我注释出来,我可以成功地从远程位置访问,但我无法在本地访问。如果我评论它们,我可以在本地成功访问,但不远处。

谁能给我一些建议,我做错了什么?我已经跟随了很多教程和youtube视频,似乎没有一个是准确的最新Hass.io3.8构建

我已经向前看了hass.io(19463331伟德国际家助理)运行家助理核心在docker所以我不能添加任何以上,抱歉。

谢谢史蒂夫,我还在研究和解决。如果有人能提供帮助,我将不胜感激。

我不确定在公共论坛上分享什么配置(我仍然不确定在不透露细节的情况下分享什么是安全的)。

安全:
你的Duckdns地址只是展示你住在互联网上的地方,他们仍然必须闯入。仍然最好不要给他们方向
IP地址类似于替代品
您的Duckdns令牌是您的实例的个人令牌,不要分享

看看你的帖子,我能问你为什么几乎所有东西都放在引号里吗?

你想要本地和远程访问duckdns和nginx ?
我可以在这个线程中遵循我的解决方案帖子(第23号)后何时询问什么不起作用吗?

嗨Muttley,

谢谢你对安保的解释。我会确保这些事情是保密的。
关于区块报价,我不太确定你的问题是什么。我引用了另一篇文章,概述了什么对我有效,以及遵循这种配置后我的问题是什么。

我已经启用了双因素身份验证,但是除了从身份验证应用程序接受我的令牌之外,没有进一步的指示要遵循——惟一的更改是,它现在有了禁用的选项。我正在验证您的其他帖子针对我的配置现在,一旦完成将报告回来。之前的尝试没有成功。它不允许我保存你在NGINX设置中共享的配置。

编辑:

如果我使用你的NGINX配置(与我的地址),我得到这个错误:

不是字典值的有效值@ data ['选项']。get {'域':'xxxxxx.duckdns.org','certfile':'fullchain.pem','keyfile':'privkey.pem','hsts':'max-age = 31536000;loversubdomains','自定义':{'活动':false,'默认':'nginx_proxy_default * .conf','服务器':'nginx_proxy / *。conf'}}

我能识别的唯一区别是默认配置有一行“cloudflare”:false,
这不在你的配置中