iT邦幫忙

1

使用浮動ip架設網站,卻連不上

  • 分享至 

  • xImage

https://ithelp.ithome.com.tw/upload/images/20210710/201393519fln3WZuCM.jpg
問題如上圖

環境:
作業系統 ubuntu 20.04.2
使用django+nginx+uwsgi部屬網站伺服器

外網ip:59.120.87.163
內網ip:10.0.100.218

nginx.conf
https://ithelp.ithome.com.tw/upload/images/20210710/20139351hZ8y9L8VvN.jpg

mysite.xml
https://ithelp.ithome.com.tw/upload/images/20210710/20139351USBXInDXhK.jpg

nginx -t 測試沒問題
https://ithelp.ithome.com.tw/upload/images/20210710/20139351xiieN7u3kJ.jpg

uwsgi -x mysite.xml
https://ithelp.ithome.com.tw/upload/images/20210710/20139351BZJhO6wXfF.jpg

server name是註冊no-ip的DNS (也有載DUC在ubuntu裡)
https://ithelp.ithome.com.tw/upload/images/20210710/20139351Wm23WJ8Gjx.jpg

也有從路由器設定通訊埠轉發
https://ithelp.ithome.com.tw/upload/images/20210710/20139351arsmxEY7pl.jpg

防火牆
https://ithelp.ithome.com.tw/upload/images/20210710/20139351ZY8YYaPLbc.jpg

從別的外網ping
https://ithelp.ithome.com.tw/upload/images/20210710/20139351xKWNdda68L.jpg

小弟本人目前正在學習如何架設一個網站,很多東西其實都還懵懵懂懂,
都是按照別人的教學一步一步來的,現在卡在這個問題蠻久了...
想請問到底是什麼問題...
難道只能用固定ip和花錢買網域嗎?
希望有哪位大神能救救我/images/emoticon/emoticon02.gif

iroe7777 iT邦新手 5 級 ‧ 2021-07-12 09:18:27 檢舉
從外部單純找DNS以及80都沒問題, 樓下froce大大幫你點出原因囉.
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
2
froce
iT邦大師 1 級 ‧ 2021-07-10 15:39:28
最佳解答
  1. 從外網ping 你的網域不要直接ping ip,這樣可以順便看看你的ip對應更新上去沒。
  2. 你router的防火牆先關掉。
  3. 你通訊埠轉發應該是對應80,這樣才會對應到nginx的埠。
  4. 用你的內網存取 http://10.0.100.218 試試看
1
小魚
iT邦大師 1 級 ‧ 2021-07-10 16:15:07

固定IP是可以申請,
基本上如果是自己的寬頻,
應該都很容易申請,
網域就看情況了,
如果是練習可買可不買.

所以你透過內網連都正常嗎?

froce iT邦大師 1 級 ‧ 2021-07-10 17:16:24 檢舉

目前看應該是他通訊埠轉發設錯啦。
nginx用的是80,他轉發8080。
他架構是 59.120.87.163:80:router -> 10.0.100.218:80:nginx -> 127.0.0.1:8080:uwsgi
但他轉發設定的是 59.120.87.163:80:router -> 10.0.100.218:8080

1

就浮動IP而言,你是正確的設定。
uwsgi的部份我不熟。但就一般的認知來說。不該用127.0.0.1來設定才對。

不過其實看你用TPLINK的AP設備。你可以去登入它的伺服器應用。
有一個服務註冊的東西。註冊完後。
會有給浮動IP用的域名註冊可以給你使用。(免費的)

你用那個來處理浮動IP的問題。這樣你也不需要有固定IP跟買域名了。

froce iT邦大師 1 級 ‧ 2021-07-10 20:54:14 檢舉

uwsgi的部份我不熟。但就一般的認知來說。不該用127.0.0.1來設定才對。

uwsgi你把他當php-fpm就行了。
跟php的對應關係就是
nginx -> php-fpm -> php原始碼
nginx -> uwsgi -> python原始碼

都在同一台的話,127.0.0.1是沒問題的,要用unix socket也沒問題。

也就是說,其也為內部資源存取。
不過我的 uwsgi 不熟。也確實不太明白它的工作原理。

如果說 uwsgi 是像似內部設備的接取。
那的確用127.0.0.1就可以了也沒錯。

我要發表回答

立即登入回答