Ошибка прерванной трубы и сброс соединения узлом 104

Я использую Bottle сервер для реализации моего собственного сервера, используя реализацию, расположенную не так далеко от простого "мира приветствия", моя собственная реализация - это (конечно, без раздела маршрутизации):
bottleApp =bottle.app() bottleApp.run(host='0.0.0.0',port=80, debug=true)

Мой сервер все время перестает отвечать на запросы, а затем я попадаю в браузер: Connection reset by peer, broken pipe errno 32
Логи дают мне почти такие же следы стека, как и в вопросе.

Вот мои собственные журналы:
Трасса разбитой трубы
сброс соединения по трассе стека

Что я пробовал до сих пор без успеха

  1. Завершение строки запуска сервера с помощью try, за исключением того, что-то вроде показанного здесь ответа "mhawke". Это остановило сообщения об ошибках в журналах, по-видимому, потому что я поймал их в except оговорка, но проблема в том, что при обнаружении такого исключения это означает, что мы были выброшены из run метод контекста, и я хочу поймать его так, чтобы мой сервер не падал.
    Я не знаю, возможно ли это, не касаясь внутренних файлов реализации bottle,

  2. Добавление этого до запуска строки сервера:
    from signal import signal, SIGPIPE, SIG_DFL signal(SIGPIPE,SIG_DFL)
    Как предложено здесь, но, похоже, это никак не повлияло на то, что не возникло сообщение "Сломанный канал / ошибки сброса соединения" и отзывчивость сервера.

  3. Я думал попробовать второй ответ здесь, но я понятия не имею, где найти этот код в контексте bottle сервер.

1 ответ

Это похоже на проблему с разрешениями или брандмауэром.

если вам действительно нужно прослушивать порт 80, то вам нужно работать с привилегированной учетной записью. Также вам, вероятно, потребуется открыть порт 80 для трафика TCP.

Я вижу, что вы используете что-то, похожее на Posix (Linux/Unix/OSx). Если вы опубликуете, какую ОС вы используете, я могу отредактировать этот ответ, чтобы более конкретно указать, как открывать брандмауэр и выполнять привилегированные команды (возможно, sudo но кто знает)

Другие вопросы по тегам