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