Слушая ошибку на порту 80, когда ничего больше не использует его

Я мигрирую мой веб-сервер с ноутбука Windows на другой компьютер, работающий на сервере Ubuntu 18.04. Программа, которую я использую является Abyss Web Server (хотя это, кажется, не проблема с программой, кажется более вероятно, что-то делать с Ubuntu).

Я могу запустить этот Web-сервер прекрасно, если он находится на другом порту (например, порт 8000, 8080 и т.д.), но когда я пытаюсь использовать порт 80, я получаю эту ошибку:

-- Default host on port 80 has a listening problem (Local URL http://127.0.0.1)

Console local URL: http://127.0.0.1:9999

Так как он может слушать на любом другом порту, который я указываю, это должно быть проблемой Ubuntu.

До этого я заметил, что Apache2 был автоматически включен и использует порт 80, поэтому я отключил его от автоматического запуска, а затем отключил услугу. Затем я перезагрузил компьютер.

При повторном запуске у меня возникла точно такая же проблема. Я использовал команду sudo lsof, и, согласно ей, ничего не использовалось (это просто фрагмент, очевидно, но, как видите, ничего на 80):

kswapd0     40                  root  txt   unknown                                        /proc/40/exe (readlink: Permission denied)
kswapd0     40                  root NOFD                                                  /proc/40/fd (opendir: Permission denied)
kworker/u   41                  root  cwd   unknown                                        /proc/41/cwd (readlink: Permission denied)
kworker/u   41                  root  rtd   unknown                                        /proc/41/root (readlink: Permission denied)
kworker/u   41                  root  txt   unknown                                        /proc/41/exe (readlink: Permission denied)
kworker/u   41                  root NOFD                                                  /proc/41/fd (opendir: Permission denied)
ecryptfs-   42                  root  cwd   unknown                                        /proc/42/cwd (readlink: Permission denied)
ecryptfs-   42                  root  rtd   unknown                                        /proc/42/root (readlink: Permission denied)
ecryptfs-   42                  root  txt   unknown                                        /proc/42/exe (readlink: Permission denied)
ecryptfs-   42                  root NOFD                                                  /proc/42/fd (opendir: Permission denied)
kthrotld    84                  root  cwd   unknown                                        /proc/84/cwd (readlink: Permission denied)
kthrotld    84                  root  rtd   unknown                                        /proc/84/root (readlink: Permission denied)
kthrotld    84                  root  txt   unknown                                        /proc/84/exe (readlink: Permission denied)
kthrotld    84                  root NOFD                                                  /proc/84/fd (opendir: Permission denied)
acpi_ther   85                  root  cwd   unknown                                        /proc/85/cwd (readlink: Permission denied)
acpi_ther   85                  root  rtd   unknown                                        /proc/85/root (readlink: Permission denied)
acpi_ther   85                  root  txt   unknown                                        /proc/85/exe (readlink: Permission denied)
acpi_ther   85                  root NOFD                                                  /proc/85/fd (opendir: Permission denied)
kworker/u   86                  root  cwd   unknown                                        /proc/86/cwd (readlink: Permission denied)
kworker/u   86                  root  rtd   unknown                                        /proc/86/root (readlink: Permission denied)
kworker/u   86                  root  txt   unknown                                        /proc/86/exe (readlink: Permission denied)
kworker/u   86                  root NOFD                                                  /proc/86/fd (opendir: Permission denied)
ipv6_addr   90                  root  cwd   unknown                                        /proc/90/cwd (readlink: Permission denied)
ipv6_addr   90                  root  rtd   unknown                                        /proc/90/root (readlink: Permission denied)
ipv6_addr   90                  root  txt   unknown                                        /proc/90/exe (readlink: Permission denied)
ipv6_addr   90                  root NOFD                                                  /proc/90/fd (opendir: Permission denied)
kstrp       99                  root  cwd   unknown                                        /proc/99/cwd (readlink: Permission denied)
kstrp       99                  root  rtd   unknown                                        /proc/99/root (readlink: Permission denied)
kstrp       99                  root  txt   unknown                                        /proc/99/exe (readlink: Permission denied)
kstrp       99                  root NOFD                                                  /proc/99/fd (opendir: Permission denied)
charger_m  116                  root  cwd   unknown                                        /proc/116/cwd (readlink: Permission denied)
charger_m  116                  root  rtd   unknown                                        /proc/116/root (readlink: Permission denied)
charger_m  116                  root  txt   unknown                                        /proc/116/exe (readlink: Permission denied)
charger_m  116                  root NOFD                                                  /proc/116/fd (opendir: Permission denied)
scsi_eh_0  176                  root  cwd   unknown                                        /proc/176/cwd (readlink: Permission denied)
scsi_eh_0  176                  root  rtd   unknown                                        /proc/176/root (readlink: Permission denied)

Так почему же я до сих пор получаю ошибку при прослушивании? Я также разрешил порт 80 через ufw, так что еще мне нужно сделать, чтобы попытаться заставить это работать?

Редактирование #1:

Я прошел по другому решению на этом сайте, чтобы посмотреть, что использовалось на порту 80.

В настоящее время я просто запускаю сервер через порт 8000.

Как вы можете видеть ниже, Abyss Web Server использует порт 8000, но ничто не использует 80. Что происходит по адресу ????

user@pc:~$ sudo netstat -peanut | grep ":80"
[sudo] password for user:
tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      1000       31628      1947/abyssws-x64  
tcp6       0      0 :::8000                 :::*                    LISTEN      1000       31627      1947/abyssws-x64 

Правка #2

Комментарий ниже подсказал, что я использую ss -ltp и до сих пор не могу определить, что используется порт 80:

State  Recv-Q  Send-Q     Local Address:Port             Peer Address:Port
LISTEN 0       80             127.0.0.1:mysql                 0.0.0.0:*      users:(("mysqld",pid=1355,fd=22))
LISTEN 0       50               0.0.0.0:netbios-ssn           0.0.0.0:*      users:(("smbd",pid=2229,fd=34))
LISTEN 0       100              0.0.0.0:pop3                  0.0.0.0:*      users:(("dovecot",pid=2123,fd=24))
LISTEN 0       100              0.0.0.0:imap2                 0.0.0.0:*      users:(("dovecot",pid=2123,fd=38))
LISTEN 0       10          192.168.0.27:domain                0.0.0.0:*      users:(("named",pid=1243,fd=25))
LISTEN 0       10             127.0.0.1:domain                0.0.0.0:*      users:(("named",pid=1243,fd=22))
LISTEN 0       128        127.0.0.53%lo:domain                0.0.0.0:*      users:(("systemd-resolve",pid=817,fd=13))
LISTEN 0       128              0.0.0.0:ssh                   0.0.0.0:*      users:(("sshd",pid=2129,fd=3))
LISTEN 0       5              127.0.0.1:ipp                   0.0.0.0:*      users:(("cupsd",pid=913,fd=7))
LISTEN 0       128            127.0.0.1:postgresql            0.0.0.0:*      users:(("postgres",pid=1241,fd=8))
LISTEN 0       128            127.0.0.1:953                   0.0.0.0:*      users:(("named",pid=1243,fd=23))
LISTEN 0       50               0.0.0.0:microsoft-ds          0.0.0.0:*      users:(("smbd",pid=2229,fd=33))
LISTEN 0       100              0.0.0.0:imaps                 0.0.0.0:*      users:(("dovecot",pid=2123,fd=40))
LISTEN 0       100              0.0.0.0:pop3s                 0.0.0.0:*      users:(("dovecot",pid=2123,fd=26))
LISTEN 0       50                  [::]:netbios-ssn              [::]:*      users:(("smbd",pid=2229,fd=32))
LISTEN 0       100                 [::]:pop3                     [::]:*      users:(("dovecot",pid=2123,fd=25))
LISTEN 0       100                 [::]:imap2                    [::]:*      users:(("dovecot",pid=2123,fd=39))
LISTEN 0       10                  [::]:domain                   [::]:*      users:(("named",pid=1243,fd=21))
LISTEN 0       128                 [::]:ssh                      [::]:*      users:(("sshd",pid=2129,fd=4))
LISTEN 0       5                  [::1]:ipp                      [::]:*      users:(("cupsd",pid=913,fd=6))
LISTEN 0       128                [::1]:postgresql               [::]:*      users:(("postgres",pid=1241,fd=7))
LISTEN 0       128                [::1]:953                      [::]:*      users:(("named",pid=1243,fd=24))
LISTEN 0       50                  [::]:microsoft-ds             [::]:*      users:(("smbd",pid=2229,fd=31))
LISTEN 0       100                 [::]:imaps                    [::]:*      users:(("dovecot",pid=2123,fd=41))
LISTEN 0       100                 [::]:pop3s                    [::]:*      users:(("dovecot",pid=2123,fd=27))

Это немного раздражает.

Я также попробовал sudo netstat -ltnp, и каждая возможная команда нашла здесь - до сих пор ничего не показала. Что же происходит по адресу ??????

0
задан 4 October 2020 в 10:30

1 ответ

Порты TCP и UDP менее 1024 могут использоваться (открываться) только процессом root. Обычно веб-сервер запускается с uid=0, начинает прослушивать порт (скажем) 80, а затем переключается на непривилегированного пользователя (например, www-data в случае apache2).

Ваш веб-сервер Abyss может делать это, а может и не делать, но в любом случае, если вы хотите использовать порт меньше 1024, вы должны запустить его из корня Пользователь.

Для получения дополнительной информации об «известных портах» см.: https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers#Well-known_ports

3
ответ дан 4 October 2020 в 07:51

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

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