Откройте порт 80 на сервере Ubuntu

Откройте порт 80 на сервере Ubuntu

Я только начинаю работать в Ubuntu/Linux и у меня возникли проблемы с открытием порта 80 для входящих подключений.

Я выполнил sudo ufw allow 80/tcpкоманду, и результат ее выполнения sudo ufw statusвыглядит следующим образом:

Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)

Однако я все еще получаю эту ошибку при попытке подключиться к порту с помощью cURL.

Не удалось подключиться к порту 80 MY_IP_ADDRESS: соединение отклонено

Когда я запускаю эту команду, netstat -ntlp | grep LISTENчтобы посмотреть, какие порты открыты, я получаю следующий результат:

(No info could be read for "-p": geteuid()=1000 but you should be root.)
tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -               
tcp6       0      0 :::22                   :::*                    LISTEN      -         

Что не выглядит таким уж многообещающим.

Как открыть порт 80 для входящих подключений?

решение1

Ни одна программа не прослушивает порт 80, поэтому он закрыт, и вы не можете к нему подключиться.

Вы можете использовать

sudo python -m SimpleHTTPServer 80

Для Python-3:

sudo python3 -m http.server 80

чтобы запустить простой веб-сервер, прослушивающий порт 80, или установить что-то вроде Apache (пакет apache2), если вам нужен полнофункциональный веб-сервер.

решение2

УФВэтоПростой брандмауэр. Он управляет тем, какие порты на вашем компьютере могут быть открыты для прослушивания приложением. sudo ufw allow 80/tcpозначает разрешитьТКПсвязи спорт 80.

Однако на самом деле за портом ничего не прослушивается. В curlпорту должно быть приложение, которое будет отправлять ответ. Обычно это называется сервером. Как указывает @Florian, вы можете использоватьПитончтобы SimpleHTTPServerпроверить это.

решение3

Использовать:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

Затем, чтобы предотвратить потерю конфигурации iptables при перезапуске, используйте:

sudo apt-get install iptables-persistent

решение4

вы можете использовать sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPTэто принимает порт, когда он настраивается с портом, чтобы предотвратить потерю этой терминальной строки кода вы можете использовать sudo apt-get install iptables-persistent Причина использования sudo в начале команды заключается в том, чтобы позволить ей работать как суперпользователь, постоянный использует его как постоянное соединение с предоставленным портом. Вы также можете использовать вы можете использовать Python, SimpleHTTPServerчтобы проверить это! Это был отличный вопрос! Спасибо!

Связанный контент