1. 程式人生 > >局域網內搭建一個服務器,可以使用 https 嗎

局域網內搭建一個服務器,可以使用 https 嗎

freessl 的人 百度 clas dhcp web div coo ted

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

這是一個創建於 126 天前的主題,其中的信息可能已經有所發展或是發生改變。

局域網內通過嵌入式設備搭建一個輕量級 web 服務,可以仍然使用 https 嗎,有點困惑,證書什麽的怎麽辦

局域網 搭建 輕量級 嵌入式 37 回復 | 直到 2018-10-11 19:21:11 +08:00
技術分享圖片 1 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 嗎