https://www.v2ex.com/t/472394

这是一个创建于 126 天前的主题,其中的信息可能已经有所发展或是发生改变。

局域网内通过嵌入式设备搭建一个轻量级 web 服务,可以仍然使用 https 吗,有点困惑,证书什么的怎么办

 

37 回复  |  直到 2018-10-11 19:21:11 +08:00

局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    1
 

paparika   126 天前

 
这里的局域网就特指普通家庭局域网
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    2
 

flowfire   126 天前 via iPhone

 
自己签发一个,然后手动信任
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    3
 

littleylv   126 天前

 
1、这种情况有必要用 https 么?
2、用自己生成的证书,但是首次浏览器会警告,给他允许了就好了,左上角的小锁会是红色
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    4
 

i730   126 天前

 
局域网内 https 浪费性能啊,做好 wifi 防护就好,反倒别让人连上你 wifi 了
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    5
 

terrytw   126 天前

 
第一种,自签名证书,导入你需要访问的客户端
第二种,你去 LETS ENCRYPT 去注册一个证书,前提你有域名,80 端口如果不能访问可以用 DNS 方式
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    6
 

paparika   126 天前

 
@flowfire 
@littleylv 
@i730 情景有点复杂,局域网里另一个设备需要访问这个服务端(不是通过浏览器,是通过设备里的程序),如果是自签发的证书,必须要让这个设备事先授信这个证书是吧
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    7
 

paparika   126 天前

 
@terrytw 如果是第二种的话,局域网内怎么挂域名
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    8
 

paparika   126 天前

 
@terrytw 就是普通家庭那种局域网
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    9
 

paparika   126 天前

 
@terrytw 是不是我要弄个广域网的域名,然后私下在局域网里 dns 把域名解析为局域网地址
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    10
 

i730   126 天前

 
@paparika #6 这个有公网域名最方便,否则自建 CA 在设备里导入,就是导入到系统,系统的证书链
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    11
 

paparika   126 天前

 
@i730 
@terrytw 如果是自签名,能导入证书。那么还是存在要解析域名的问题吧,这个怎么搞定
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    12
 

waacoo   126 天前 via iPhone

 
可以,mkcert
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    13
 

i730   126 天前

 
@paparika #11 hosts 文件了解一下
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    14
 

imdong   126 天前

 
自签证书是可以的,也可以暴露 80 端口到外网(或拥有一台外网服务器)
然后获取到证书以后,拿到内网使用。
至于怎么获取证书,letsencrypt 阿里云 腾讯云 等很多第三方都可以签到证书的。
如何获取到证书是一个问题,证书在内网用没问题。
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    15
 

waacoo   126 天前 via iPhone

 
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    16
 

paparika   126 天前

 
@i730 对于我来说,服务端和设备是可控的,局域网是不可控的,那么我就不能用静态 ip,这样 hosts 也没用吧
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    17
 

paparika   126 天前

 
@imdong 抱歉没懂,我是局域网内设备访问局域网服务器,暴露 80 干嘛
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    18
 

i730   126 天前

 
@paparika #16 你都不知道服务器 IP 怎么访问?搞个自动化程序,获取服务器 IP 写 hosts
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    19
 

whitegerry   126 天前

 
@paparika 局域网内搭建一个服务器,可以使用 https 吗-LMLPHP

局域网绑个域名,然后 mkcert 自建根证书
https://github.com/FiloSottile/mkcert

局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    20
 

paparika   126 天前

 
@i730 哈哈,情景确实比较复杂,算是开个脑洞而已。这块比较小白,见谅
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    21
 

whitegerry   126 天前

 
或者 Openssl 自签证书
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    22
 

paparika   126 天前

 
@whitegerry 那局域网内怎么把域名转化为 ip 呢
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    23
 

imdong   126 天前

 
问题分两种:
域名是真实的,楼主对域名拥有真实控制权:百度 letsencrypt DNS 验证
域名是伪造的,自签名 CA 生成证书,要求访问者导入 CA 证书到受信任的根证书机构。参考 12306
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    24
 

paparika   126 天前

 
@imdong 感谢,再问一步,不管真实伪造,局域网内设备访问域名,有没有办法把域名指向局域网服务端的 ip (局域网是不受控的,干涉不了路由等设备)
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    25
 

whitegerry   126 天前

 
服务端 ip 不可控?那跟能不能用 https 没什么关系吧
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    26
 

mikeguan   126 天前 via Android

 
@paparika 可以在域名注册商那里将域名解析到内网的 和解析到公网 ip 地址一样的操作 并且可以设置 txt 记录进行域名签发证书
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    27
 

whitegerry   126 天前

 
服务端和客户端可控且能连外网的话,虚拟局域网 n2n/tinc/zerotier,n2n 和 zero 自己不用准备公网服务器,或者 frp。
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    28
 

davidyin   126 天前

 
花点钱,买个域名指向局域网 ip,再买个证书,就可以了。
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    29
 

noe132   125 天前

 
据我记忆好像是域名可以设置 A 记录到内网 ip,也就是可以指向 192.168.1.1 这种地址
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    30
 

liwufan   125 天前

 
我也很好奇这问题。虽然两台机子间倒腾 https 听起来有点鸡肋,但是大一点的内网是不是会开始自建 ca 服务器了啊?
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    31
 

n2ex2   125 天前 via Android

 
域名可以设置内网 ip,另一种方法就是 hosts。
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    32
 

uncat   125 天前 via Android

 
当然可以。准备一个域名解析到你的服务器内网 ip.然后按照 Letsencrypt 教程操作就可以了。
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    33
 

just1   125 天前

 
域名直接 A 记录内网 ip
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    34
 

flynaj   125 天前 via Android

 
letsencrypt DNS 验证 就可以证书了,或者静态 DNS 纪录也可以。
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    35
 

akira   125 天前

 
@paparika 内网搭建一个域名解析,或者配置 host 都可以。 内网用域名也是很常见的
局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    36
 

imdong   125 天前

 
如果域名是真实的,而且内网的服务器 IP 是固定且对所有人都可见。
是可以直接解析的。
DSN 解析支持内网,但是用户端要能连接外网。

你把 a.baidu.com 指向 127.0.0.1 所有访问这个地址的人都会打开本地.
如果内网地址是 192.168.1.253 那么吧 s.baidu.com 指向 这个 IP 即可.

局域网内搭建一个服务器,可以使用 https 吗-LMLPHP 
    37
 

iceheart   41 天前 via Android

 
1.域名和证书:几块钱买一个域名,freessl 上免费申请证书。
2.内网解析:搭个 dnsmasq,配置文件添加解析;内网的 dhcp 下发的 dns 指向你配的 dnsmasq
05-08 14:50