我最近买了一个Raspberry Pi 4 (8GB)
并安装了Ubuntu Server 20.04 LTS
它。
我的目标是将它变成一个服务器,托管我的所有Python
脚本(Flask Websites
/ Telegram Bots
/etc)。[非常像本地Heroku
服务器]
现在,我遵循了教程盲目地,并成功设置了我的Flask
应用程序。然而,问题与视频不同,网站可以访问从internet
,我的可以只能被访问Local Network
通过服务器从我的IP
。当我将此分享IP
给我的朋友时,他们无法查看我的网站。
现在,我做了一些研究,发现了port forwarding
。但这似乎也不起作用。
希望在这里找到一些答案。
这是我的nginx
配置文件:
server {
listen 80;
server_name 192.168.29.49;
location /static {
alias /home/tech_savvy_guy/My-Website/static;
}
location / {
proxy_pass http://localhost:8000;
include /etc/nginx/proxy_params;
proxy_redirect off;
}
}
这是一个截屏port forwarding
我在路由器上启用了该功能。
答案1
如果你能从你的 LAN 访问它,那么它就可以正常工作。就这样。不要弄乱它。
此后的一切都与 Ubuntu 无关。
您的路由器有两个地址:
- 一个用于 LAN(例如 192.168.1.1)
- 另一个适用于更广泛互联网的公共地址(如 38.25.67.186)。
您附近的局域网好友必须使用局域网地址。
您在互联网上的远方朋友必须使用公共地址。
询问 Google“我的 IP 地址是什么?”,您得到的返回结果将是您的路由器的公共地址...因为 Google 在您的 LAN 上没有服务器。
您的 LAN 上的所有设备都共享同一个公共 IP 地址。对于互联网来说,您的整个 LAN 就像一个繁忙的设备(您的路由器)。这就是为什么您需要在路由器上使用端口转发:这样路由器就知道端口 80 请求应该由哪个 LAN 设备处理转发到。