FastAPI / uvicorn не работает при указании хоста - PullRequest
0 голосов
/ 09 февраля 2020

Я запускаю приложение FastAPI в Python, используя uvicorn на машине Windows. Это работает нормально, когда я либо

  1. запускаю следующий код на моей ма c, либо
  2. Когда я не указываю порт для uvicorn (удалите параметр host из вызова uvicorn.run)
  3. Когда я указываю порт '127.0.0.1', который является хостом, который он использует, когда я вообще не указываю хост.
from fastapi import FastAPI
import uvicorn

app = FastAPI()


@app.get("/")
async def root():
    return {"message": "Hello World"}


if __name__ == '__main__':
    uvicorn.run(app, port=8080, host='0.0.0.0')

Когда я go на 0.0.0.0:8080 в своем браузере, я получаю сообщение об ошибке "Этот сайт не доступен".

Я проверил свои текущие активные порты, чтобы убедиться, что я я не получаю коллизию с использованием netstat -ao |find /i "listening", а 0.0.0.0:8080 не используется.

Моя текущая конфигурация файла выглядит следующим образом:

working_directory
└── app
    ├── gunicorn_conf.py
    └── main.py

Мой gunicorn_conf.py супер просто и просто пытается установить хост и порт:

host = "0.0.0.0"
port = "8080"

Как я могу заставить это работать, когда я задаю порт '0.0.0.0'?

1 Ответ

0 голосов
/ 09 февраля 2020

Когда я писал вопрос выше, я нашел решение и решил поделиться, если кто-то столкнется с этим. Чтобы заставить его работать, поместите «http://localhost: 8080 » в веб-браузер вместо «http://0.0.0.0: 8080 », и оно будет работать нормально. Это также работает, если вы попали в конечную точку через пакет python запросов, и т. Д. c.

...