局域网内通过嵌入式设备搭建一个轻量级 web 服务,可以仍然使用 https 吗,有点困惑,证书什么的怎么办
|      1paparika OP 这里的局域网就特指普通家庭局域网 | 
|  |      2flowfire      2018-07-19 16:16:56 +08:00 via iPhone 自己签发一个,然后手动信任 | 
|  |      3U7Q5tLAex2FI0o0g      2018-07-19 16:17:18 +08:00 1、这种情况有必要用 https 么? 2、用自己生成的证书,但是首次浏览器会警告,给他允许了就好了,左上角的小锁会是红色 | 
|      4i730      2018-07-19 16:21:25 +08:00 局域网内 https 浪费性能啊,做好 wifi 防护就好,反倒别让人连上你 wifi 了 | 
|      5taikobo      2018-07-19 16:24:40 +08:00 第一种,自签名证书,导入你需要访问的客户端 第二种,你去 LETS ENCRYPT 去注册一个证书,前提你有域名,80 端口如果不能访问可以用 DNS 方式 | 
|      6paparika OP | 
|      12waacoo      2018-07-19 16:36:31 +08:00 via iPhone 可以,mkcert | 
|  |      14imdong      2018-07-19 16:38:54 +08:00 自签证书是可以的,也可以暴露 80 端口到外网(或拥有一台外网服务器) 然后获取到证书以后,拿到内网使用。 至于怎么获取证书,letsencrypt 阿里云 腾讯云 等很多第三方都可以签到证书的。 如何获取到证书是一个问题,证书在内网用没问题。 | 
|      15waacoo      2018-07-19 16:39:11 +08:00 via iPhone | 
|      16paparika OP @i730 对于我来说,服务端和设备是可控的,局域网是不可控的,那么我就不能用静态 ip,这样 hosts 也没用吧 | 
|  |      19whitegerry      2018-07-19 16:55:21 +08:00 | 
|  |      21whitegerry      2018-07-19 16:57:08 +08:00 或者 Openssl 自签证书 | 
|      22paparika OP @whitegerry 那局域网内怎么把域名转化为 ip 呢 | 
|  |      23imdong      2018-07-19 16:58:14 +08:00 问题分两种: 域名是真实的,楼主对域名拥有真实控制权:百度 letsencrypt DNS 验证 域名是伪造的,自签名 CA 生成证书,要求访问者导入 CA 证书到受信任的根证书机构。参考 12306 | 
|      24paparika OP @imdong 感谢,再问一步,不管真实伪造,局域网内设备访问域名,有没有办法把域名指向局域网服务端的 ip (局域网是不受控的,干涉不了路由等设备) | 
|  |      25whitegerry      2018-07-19 17:18:04 +08:00 服务端 ip 不可控?那跟能不能用 https 没什么关系吧 | 
|      26mikeguan      2018-07-19 17:20:56 +08:00 via Android @paparika 可以在域名注册商那里将域名解析到内网的 和解析到公网 ip 地址一样的操作 并且可以设置 txt 记录进行域名签发证书 | 
|  |      27whitegerry      2018-07-19 17:28:17 +08:00 服务端和客户端可控且能连外网的话,虚拟局域网 n2n/tinc/zerotier,n2n 和 zero 自己不用准备公网服务器,或者 frp。 | 
|  |      28davidyin      2018-07-19 18:23:57 +08:00 花点钱,买个域名指向局域网 ip,再买个证书,就可以了。 | 
|  |      29noe132      2018-07-19 18:54:53 +08:00 据我记忆好像是域名可以设置 A 记录到内网 ip,也就是可以指向 192.168.1.1 这种地址 | 
|  |      30liwufan      2018-07-19 19:14:30 +08:00 我也很好奇这问题。虽然两台机子间倒腾 https 听起来有点鸡肋,但是大一点的内网是不是会开始自建 ca 服务器了啊? | 
|      31n2ex2      2018-07-19 19:16:44 +08:00 via Android 域名可以设置内网 ip,另一种方法就是 hosts。 | 
|  |      32uncat      2018-07-19 21:14:01 +08:00 via Android 当然可以。准备一个域名解析到你的服务器内网 ip.然后按照 Letsencrypt 教程操作就可以了。 | 
|  |      33just1      2018-07-19 22:08:24 +08:00 域名直接 A 记录内网 ip | 
|  |      34flynaj      2018-07-19 22:09:42 +08:00 via Android letsencrypt DNS 验证 就可以证书了,或者静态 DNS 纪录也可以。 | 
|  |      36imdong      2018-07-20 09:26:16 +08:00 如果域名是真实的,而且内网的服务器 IP 是固定且对所有人都可见。 是可以直接解析的。 DSN 解析支持内网,但是用户端要能连接外网。 你把 a.baidu.com 指向 127.0.0.1 所有访问这个地址的人都会打开本地. 如果内网地址是 192.168.1.253 那么吧 s.baidu.com 指向 这个 IP 即可. | 
|      37iceheart      2018-10-11 19:21:11 +08:00 via Android 1.域名和证书:几块钱买一个域名,freessl 上免费申请证书。 2.内网解析:搭个 dnsmasq,配置文件添加解析;内网的 dhcp 下发的 dns 指向你配的 dnsmasq |