Передача не будет работать на порту 80

Я пытался использовать веб-интерфейс Transmission, и он работал отлично. Я мог получить к нему доступ через http://localhost:8080/transmission/web/, я мог использовать свой локальный IP, я мог использовать 127.0.0.1, я мог, после переадресации портов, даже использовать свой фактический IP. Соединение с DNS даже удалось!

Я был раздражен :8080, прикрепленным к URL, и хотел удалить его, поэтому я вошел в настройки Transmission и изменил его на порт 80. Внезапно, Я не мог подключиться через любой метод! Все они провалились. Даже нажатие кнопки «Открыть веб-клиент» в настройках Transmission не сработало. (просто обычное сообщение «не удалось установить соединение», если вам любопытно.)
ПРИМЕЧАНИЕ. У меня не установлено Apache или какое-либо другое серверное программное обеспечение.

Затем я в панике переключился на порт 8080, и все было хорошо. Еще одна попытка на 80 и провал. Перезапуск передачи тоже ничего не исправил. (По догадке, я попытался подключиться к URL :8080, пока устанавливал порт 80, просто чтобы посмотреть, использует ли он все еще старый порт. Это не так.)

В любом случае, это не критическая проблема, но я бы очень хотел иметь возможность использовать порт 80 для своего веб-клиента! (ну, я бы на самом деле хотел бы иметь возможность использовать 443, но это другой вопрос ...)

5
задан 13 April 2017 в 15:23

2 ответа

Первые 1024 порта ограничены; вам нужно быть пользователем root или иметь соответствующую возможность CAP_NET_BIND_SERVICE .

Если вы действительно хотите использовать порт 80, вы можете передать эту возможность с помощью команды setcap.

Это правильная команда для передачи:

sudo setcap cap_net_bind_service+ep /usr/bin/transmission-daemon
0
ответ дан 13 April 2017 в 15:23

Другой подход, если Вы не хотели давать дополнительные полномочия передаче, и Вы, оказалось, уже установили Apache или nginx, должен будет использовать Apache или nginx для проксирования вперед соединений от порта 80 для портирования 8080.

Посмотрите этот подход:

https://serverfault.com/questions/141904/forwarding-apache-requests-port-80-to-tomcat-port-8080

Таким образом, это связало Apache установки с mod_proxy и затем:

ProxyPass        / http://hostname:8080/
ProxyPassReverse / http://hostname:8080/

И можно даже изменить пути по мере необходимости, если у Вас был другой материал, Вы хотели работать на порте 80 также.

Эквивалент в nginx также был бы легок.

0
ответ дан 13 April 2017 в 15:23

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

Похожие вопросы: