iT邦幫忙

0

在window主機用Flask架設網站,外部網路無法連線問題

  • 分享至 

  • xImage

大家好,我目前享用Flask價一個可以對外連線的後端。在同個網域雖然可以成功連上,但在外網卻無法連上(例如手機網路)。下面先附上程式碼跟一些設定
https://ithelp.ithome.com.tw/upload/images/20240610/20129417Xji84Qqeus.png
https://ithelp.ithome.com.tw/upload/images/20240610/20129417g5cv5LpQzB.png
https://ithelp.ithome.com.tw/upload/images/20240610/20129417wwSUpAXZDx.png
我Flask的host有設0.0.0.0,防火牆也有新增port:80的樹入規則,路由器也有設定好了,但就是沒辦法。請問一下我還漏了哪裡嗎?

mathewkl iT邦高手 1 級 ‧ 2024-06-10 14:31:05 檢舉
誠心建議在家裡開對外服務的都要有建防火牆
froce iT邦大師 1 級 ‧ 2024-06-11 08:56:40 檢舉
https://flask.palletsprojects.com/en/3.0.x/deploying/
總體而言,不建議在windows IIS後面架

python的web framework都遵從WSGI/ASGI的規範,所以都要隔一層WSGI/ASGI web server
https://myapollo.com.tw/blog/python-backend-cgi-wsgi-uwsgi-explanations/
IIS目前應該沒有支援WSGI的模組,以前的fastcgi太舊了,目前也沒更新。
所以現在要用IIS的話只能把IIS當reverse proxy,另外導向到後端的WSGI web server。

然後在windows上能運行的WSGI web server選擇也不多,我以前在windows上用的是純python實現的Waitress。但在linux下我會用用慣的uWSGI。

再加上IIS要當reverse proxy還要另外裝模組,而且那個設定很難搞懂。

不用IIS的話,WSGI web server本身就能當web server了,不需要另外多層IIS,路由器直接導向內網的伺服器IP和port就好。
haward79 iT邦研究生 2 級 ‧ 2024-06-14 09:18:23 檢舉
1. 你從外網連接的時候有輸入外網 IP?
2. 內網 IP 是沒有打碼的必要
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

我要發表回答

立即登入回答