局域網內搭建一個服務器,可以使用 https 嗎
阿新 • • 發佈:2018-11-22
freessl 的人 百度 clas dhcp web div coo ted
https://www.v2ex.com/t/472394
這是一個創建於 126 天前的主題,其中的信息可能已經有所發展或是發生改變。
局域網內通過嵌入式設備搭建一個輕量級 web 服務,可以仍然使用 https 嗎,有點困惑,證書什麽的怎麽辦
局域網 搭建 輕量級 嵌入式 37 回復 | 直到 2018-10-11 19:21:11 +08:001 paparika 126 天前 這裏的局域網就特指普通家庭局域網 |
2 flowfire 126 天前 via iPhone 自己簽發一個,然後手動信任 |
3
littleylv 126 天前
1、這種情況有必要用 https 麽? 2、用自己生成的證書,但是首次瀏覽器會警告,給他允許了就好了,左上角的小鎖會是紅色 |
4 i730 126 天前 局域網內 https 浪費性能啊,做好 wifi 防護就好,反倒別讓人連上你 wifi 了 |
5
terrytw 126 天前
第一種,自簽名證書,導入你需要訪問的客戶端 第二種,你去 LETS ENCRYPT 去註冊一個證書,前提你有域名,80 端口如果不能訪問可以用 DNS 方式 |
6
paparika 126 天前
@flowfire @littleylv @i730 情景有點復雜,局域網裏另一個設備需要訪問這個服務端(不是通過瀏覽器,是通過設備裏的程序),如果是自簽發的證書,必須要讓這個設備事先授信這個證書是吧 |
7 paparika 126 天前 @terrytw 如果是第二種的話,局域網內怎麽掛域名 |
8 paparika 126 天前 @terrytw 就是普通家庭那種局域網 |
9 paparika 126 天前 @terrytw 是不是我要弄個廣域網的域名,然後私下在局域網裏 dns 把域名解析為局域網地址 |
10 i730 126 天前 @paparika #6 這個有公網域名最方便,否則自建 CA 在設備裏導入,就是導入到系統,系統的證書鏈 |
11
paparika 126 天前
@i730 @terrytw 如果是自簽名,能導入證書。那麽還是存在要解析域名的問題吧,這個怎麽搞定 |
12 waacoo 126 天前 via iPhone 可以,mkcert |
13 i730 126 天前 @paparika #11 hosts 文件了解一下 |
14
imdong 126 天前
自簽證書是可以的,也可以暴露 80 端口到外網(或擁有一臺外網服務器) 然後獲取到證書以後,拿到內網使用。 至於怎麽獲取證書,letsencrypt 阿裏雲 騰訊雲 等很多第三方都可以簽到證書的。 如何獲取到證書是一個問題,證書在內網用沒問題。 |
15 waacoo 126 天前 via iPhone @waacoo 直接貼地址 https://github.com/FiloSottile/mkcert |
16 paparika 126 天前 @i730 對於我來說,服務端和設備是可控的,局域網是不可控的,那麽我就不能用靜態 ip,這樣 hosts 也沒用吧 |
17 paparika 126 天前 @imdong 抱歉沒懂,我是局域網內設備訪問局域網服務器,暴露 80 幹嘛 |
18 i730 126 天前 @paparika #16 你都不知道服務器 IP 怎麽訪問?搞個自動化程序,獲取服務器 IP 寫 hosts |
19
whitegerry 126 天前
@paparika 局域網綁個域名,然後 mkcert 自建根證書 https://github.com/FiloSottile/mkcert |
20 paparika 126 天前 @i730 哈哈,情景確實比較復雜,算是開個腦洞而已。這塊比較小白,見諒 |
21 whitegerry 126 天前 或者 Openssl 自簽證書 |
22 paparika 126 天前 @whitegerry 那局域網內怎麽把域名轉化為 ip 呢 |
23
imdong 126 天前
問題分兩種: 域名是真實的,樓主對域名擁有真實控制權:百度 letsencrypt DNS 驗證 域名是偽造的,自簽名 CA 生成證書,要求訪問者導入 CA 證書到受信任的根證書機構。參考 12306 |
24 paparika 126 天前 @imdong 感謝,再問一步,不管真實偽造,局域網內設備訪問域名,有沒有辦法把域名指向局域網服務端的 ip (局域網是不受控的,幹涉不了路由等設備) |
25 whitegerry 126 天前 服務端 ip 不可控?那跟能不能用 https 沒什麽關系吧 |
26 mikeguan 126 天前 via Android @paparika 可以在域名註冊商那裏將域名解析到內網的 和解析到公網 ip 地址一樣的操作 並且可以設置 txt 記錄進行域名簽發證書 |
27 whitegerry 126 天前 服務端和客戶端可控且能連外網的話,虛擬局域網 n2n/tinc/zerotier,n2n 和 zero 自己不用準備公網服務器,或者 frp。 |
28 davidyin 126 天前 花點錢,買個域名指向局域網 ip,再買個證書,就可以了。 |
29 noe132 125 天前 據我記憶好像是域名可以設置 A 記錄到內網 ip,也就是可以指向 192.168.1.1 這種地址 |
30 liwufan 125 天前 我也很好奇這問題。雖然兩臺機子間倒騰 https 聽起來有點雞肋,但是大一點的內網是不是會開始自建 ca 服務器了啊? |
31 n2ex2 125 天前 via Android 域名可以設置內網 ip,另一種方法就是 hosts。 |
32 uncat 125 天前 via Android 當然可以。準備一個域名解析到你的服務器內網 ip.然後按照 Letsencrypt 教程操作就可以了。 |
33 just1 125 天前 域名直接 A 記錄內網 ip |
34 flynaj 125 天前 via Android letsencrypt DNS 驗證 就可以證書了,或者靜態 DNS 紀錄也可以。 |
35 akira 125 天前 @paparika 內網搭建一個域名解析,或者配置 host 都可以。 內網用域名也是很常見的 |
36
imdong 125 天前
如果域名是真實的,而且內網的服務器 IP 是固定且對所有人都可見。 是可以直接解析的。 DSN 解析支持內網,但是用戶端要能連接外網。 你把 a.baidu.com 指向 127.0.0.1 所有訪問這個地址的人都會打開本地. 如果內網地址是 192.168.1.253 那麽吧 s.baidu.com 指向 這個 IP 即可. |
37
iceheart 41 天前 via Android
1.域名和證書:幾塊錢買一個域名,freessl 上免費申請證書。 2.內網解析:搭個 dnsmasq,配置文件添加解析;內網的 dhcp 下發的 dns 指向你配的 dnsmasq |
局域網內搭建一個服務器,可以使用 https 嗎