uwsgi всегда привязывается к 80 порту.Даже когда настроено не - PullRequest
0 голосов
/ 16 декабря 2018

Я пытаюсь запустить прослушивание uwsgi через пользовательский порт 8008.Как упоминалось в разделе о безопасности uwsgi docs , я использовал uid и gid параметры, чтобы сделать его от www-data user

uwsgi --http-socket :8008 --uid=www-data --gid=www-data

Но я постоянно получаю ошибку

bind(): Permission denied [core/socket.c line 769]

После устранения этой проблемы я понял, что uwsgi пытается подключиться к порту 80, даже когда я выбираю другой.

После многих попыток кажется, что он всегда связывается с80 порт.Наряду с выбранным мной портом.

Например, вывод (* от имени root)

uwsgi --http-socket :8008

содержит

thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address :80 fd 3
uwsgi socket 1 bound to TCP address :8008 fd 4
uWSGI running as root, you can use --uid/--gid/--chroot options
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***

другой пример с настройкой переменной среды:

UWSGI_SOCKET=:8009 uwsgi --http-socket :8008

производит

thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address :8009 fd 3
uwsgi socket 1 bound to TCP address :80 fd 4
uwsgi socket 2 bound to TCP address :8008 fd 5
uWSGI running as root, you can use --uid/--gid/--chroot options
*** WARNING: you are running uWSGI as root !!! (use the --uid flag) ***
  • Независимо от того, как его настроить: через cli-params, .yml-file или переменные окружения.
  • Независимо от того, какой параметрвыбрать http-socket или http или просто socket
  • Независимо от того, как указать этот порт: 0.0.0.0:8008 или просто :8008 (или даже сокет UNIX)

Он всегда пытается привязаться к 80-му порту и разумно терпит неудачу, если делает это от пользователя, не являющегося rootи из python pip3 - такое же поведение.

Есть идеи о том, что мне не хватает?Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 05 января 2019

Наконец я разобрался, что происходит.У меня была неправильная конфигурация в моем файле docker-compose.yml.

environment:
  UWSGI_HTTP_SOCKET: :80

Это была проблема.

0 голосов
/ 16 декабря 2018

А как же:

uwsgi --http 127.0.0.1:80 --uid=www-data --gid=www-data
...