django - 在白色 ip 上运行 Django 应用程序
问题描述
我从我的 ISP 那里得到了一个白色 ip,它是195.214.223.143
. 我有一个带有微服务的应用程序,我想在这个 IP 上运行它。我有一个主服务器应用程序(我将使用nginx
and部署gunicorn
)和 6 个微服务(用户服务、会话服务、邮件服务等),我只想部署gunicorn
这些服务(只是因为这些服务的端点可以是只通过主服务器调用,所以我并不关心外部攻击)。
现在对于测试,我尝试仅使用gunicorn
(为此目的使用专用笔记本电脑)运行服务。我使用这样的命令来运行每个服务:
gunicorn --bind 0.0.0.0:PORT --workers 4 APPNAME.wsgi
(4 个工人,因为我有 2 个核心的 cpu (i3))
所以我在每个项目中都设置了这个:
ALLOWED_HOSTS = ['195.214.223.143', '127.0.0.1', '0.0.0.0']
我还使用 TP-Link 路由器,并在设置中使用“端口转发”选项卡来转发端口(8000、5000、5001、5002、5003、5004、5006)。
因此,当我运行所有这些东西时,我可以使用 localhost url 和http://195.214.223.143:5001
(这是我的主服务器的 url)访问我的应用程序。
但问题是我无法在其他设备上稳定使用我的 ip。有时我可以从另一台笔记本电脑甚至移动互联网上打开我的应用程序。但大多数时候我得到“连接被拒绝”错误。有趣的是,如果我尝试在两台笔记本电脑上同时键入 F5 几次,我可以正确获取页面,但随后我可能会失去与服务器笔记本电脑上的站点的连接。
奇怪的事情发生了,这是我第一次公开应用程序,所以也许我做错了很多事情。
解决方案
推荐阅读
- php - 没有内容时从下拉列表中隐藏结果
- python - 在 Python 中,我可以让导入我的模块的用户使用另一个模块的功能吗?
- swift - Swift 3:异步队列仍在阻塞主线程/冻结应用程序?
- amazon-web-services - 我可以将 AWS 用作虚拟计算机吗?
- angular - Angular Validators:我可以根据它们的验证器为表单元素添加样式吗?
- swift - Swift 4:转义闭包只能通过值显式捕获 inout 参数
- html - 我需要按中心制作“ul”(使用 Bootstrap)
- java - 计算字符串数组中的每个元素
- python - Python - 绘图模块的对象不可调用
- python - Pyplot / Matplotlib:如何实现压缩的 y 轴