Amazon-Ec2

即使打開了埠,也無法在 Amazon EC2 上打開 Web 應用程序

  • February 8, 2017

我有一個t1.micro帶有公共 DNS 的實例,看起來類似於以下內容:

ec2-184-72-67-202.compute-1.amazonaws.com

(部分數字已更改)

在這種情況下,我正在執行以下 Django 應用程序:

$ sudo python manage.py runserver --settings=vlists.settings.dev
Validating models...

0 errors found
Django version 1.4.1, using settings 'vlists.settings.dev'
Development server is running at http://127.0.0.1:8000/

我已經port 8000通過 AWS 控制台打開了

截屏:

當我在 Chrome 中導航到以下 URL 時,我收到消息Oops! Google Chrome could not connect to::

http://ec2-184-72-67-202.compute-1.amazonaws.com:8000

我究竟做錯了什麼?

網路統計:

netstat -lan | grep 8000
tcp        0      0 127.0.0.1:8000          0.0.0.0:*               LISTEN 
>Development server is running at http://127.0.0.1:8000/

聽起來伺服器設置為僅在本地主機上響應。

檢查您的 Django 配置,並確保將其設置為響應所有介面。

更新:

netstat -lan | grep 8000
tcp        0      0 127.0.0.1:8000          0.0.0.0:*               LISTEN 

是的,你的綁定肯定有問題。127.0.0.1 應該是您的公共 IP 或所有介面的 0.0.0.0。

您需要將 runserver 綁定到所有埠。預設情況下,它只綁定到 localhost

python manage.py runserver --settings=vlists.settings.dev 0.0.0.0:8000

引用自:https://serverfault.com/questions/430848