樹莓派做伺服器 無法用外網固定ip連線進去

kevinfire2 wrote:
我剛剛輸入公網IP+上PORT80就連進router的登錄畫面了

public 填 8080,private 空著不要填,或一樣填 8080。
ulimie
因為你 apache 指定用 8080
kevinfire2
我的 ports.conf 的listen是80。還是他指定在別的資料裡面?
我的理解是:
數據機103.xxx........:『你指定的某個port』 => public port 欄位的意義
連到
樹莓派192.xxx........:『8080』apache使用的port,『8080』=> private port

當設定完成,你輸入103.xxx.....:『你指定的某個port』,就會跳到 192.xxx....:『8080』,當樹莓派作業系統收到『8080』的訊息,查表看到8080是給apache註冊使用,就會將訊息丟給apache
如果你apache內部是聽80

對外你想開放8080

那就應該是

Public 8080 Private 80 IP 你的Pi內部ip
virtual server 需開 80 及 8080 port指到你的內 ip : 192.168.1.xxx

寫兩條條例
正常
你這是內網IP,要設外網IP才行,不然就是你要接防火牆做forward,有些分享器也有這功能。
可以依照這步驟排除
1.如果是ISP是中華電信,先確認Router是否使用XXXX@ip.hinet.net進行PPPOE撥接上網
2.確認樹莓派內建防火牆ufw是否有開啟,若有開啟請開通對應的port number
沒那麼複雜啦,直接FORWARD Public "80" to Private IP "80",
你圖上面顯示的是 Public 8080 -> Private 80
等於你現在外網打 103.xxx.xxx.xxx:8080 才會到你的樹梅派內網IP的80
改成Public "80" to Private IP "80",你打103.xxx.xxx.xxx 就直接上樹梅派了
最好你也要指定 443到你的內網IP,這樣才能走HTTPS
FORWARD Public "443" to Private IP "443",
建議你去申請一個免費的DDNS,像是DYNU 設定教學
這樣就不需要固定的IP
還有弄一個免費的Let's Encrypt 的Certificate來走HTTPS

我個人喜歡用Diet Pi Distro 搭配 Docker 來玩,Diet Pi 可以選裝架站必要軟體,也省去你要一個一個裝的麻煩。
另外樹梅派跑Lighttpd或者 NGINX 都會比APACHE 來的快跟輕鬆。
發覺幸福於平淡生活中
你的apache是監聽20-21的port嗎?看你用local連網頁,雖然網址塗掉了(其實區域網路IP不用塗掉),可是感覺沒有指定port,標準應該是監聽80 port才對,你試試看private port改80看看
一般用法
IP數量足夠,使用IP對應,1個公網對一個內網,如103.40.50.70 = 192.168.1.70
IP數量不足,使用PORT對應,1個公網埠對一個內(私)網埠,如103.40.50.70:80 = 192.168.1.70:80
為了不造成混淆(自己或OS系統)使用的公網私網埠號相同
雖然可以
103.40.50.70:80 = 192.168.1.70:80
103.40.50.70:81 = 192.168.1.71:80
103.40.50.70:82 = 192.168.1.72:80
但是會很難讀懂或記憶,系統使用80傳送,但是NAT外對內可以,內對外很容易搞混
建議使用埠號相同埠號
103.40.50.70:80 = 192.168.1.70:80
103.40.50.70:81 = 192.168.1.71:81
103.40.50.70:82 = 192.168.1.72:82

使用NAT MAPING時,外對內及內對外都要指定,便宜的分享器沒有內對外都要指定功能(預設外對內=內對外),造成對應失敗
內對外稱為SRCNAT,指定出口IP:port(出去使用的公網IP)
外對內稱為DSTNAT,指定目的IP:port(就是進來的目的私網IP)
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!