У меня странная проблема с колбой.У меня есть простое приложение, работающее на порту 5000, которое работает на виртуальной машине.У меня есть config.py
файл, который устанавливает порт прослушивания и IP.Это моя конфигурация:
class BaseConfig(object):
DEBUG = False
TESTING = False
SECRET_KEY = 'my_secret_key_which_is_not_so_secret'
SERVER_NAME = '0.0.0.0:5000'
class DevConfig(BaseConfig):
DEBUG = True
TESTING = True
class TestConfig(BaseConfig):
DEBUG = False
TESTING = True
И я также включил следующую строку в мой файл __init__.py
: app.config.from_object('config.DevConfig')
.Когда я запускаю приложение, это журнал:
$ python app.py
* Serving Flask app "webapp" (lazy loading)
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: on
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: XXX-XXX-XXX
/home/ubuntu/programming/lib/python3.6/site-packages/flask/sessions.py:217: UserWarning: The session cookie domain is an IP address. This may not work as intended in some browsers. Add an entry to your hosts file, for example "localhost.localdomain", and use that instead.
'The session cookie domain is an IP address. This may not work'
my.ip.add.ress - - [04/Dec/2018 10:09:16] "GET / HTTP/1.1" 404 -
my.ip.add.ress - - [04/Dec/2018 10:09:17] "GET /favicon.ico HTTP/1.1" 404 -
127.0.0.1 - - [04/Dec/2018 10:15:31] "GET / HTTP/1.1" 404 -
127.0.0.1 - - [04/Dec/2018 10:16:28] "GET /netemulator HTTerror 404 -
Так что, когда я пытаюсь получить доступ к нему с моего компьютера, я получаю ошибку 404, ту же ошибку, что и я, когда я пытаюсь достичь его с помощью elinks
.Если я удаляю строку SERVER_NAME
в config.py
, я могу связаться с ней изнутри виртуальной машины, используя elinks
, и я вижу, что она загружается правильно, но я не могу связаться с ней с моего компьютера.
$ python app.py
* Serving Flask app "webapp" (lazy loading)
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: on
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: XXX-XXX-XXX
127.0.0.1 - - [04/Dec/2018 10:18:34] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [04/Dec/2018 10:18:36] "GET /netemulator HTTP/1.1" 200 -