Apache 的自定义监听端口不起作用

Apache 的自定义监听端口不起作用

我希望 Apache(v2.4.41)在我的 Ubuntu(v20.04)服务器上监听端口 802 和 44302 而不是 80 和 443,因此我执行以下操作:

  • 编辑了 中的端口号/etc/apache2/ports.conf。现在文件只有两行,如下所示:

    Listen 802
    Listen 44302
    
  • /etc/apache2/sites-available/000-default.conf像这样编辑端口号:

    <VirtualHost *:802>
      ....
    </VirtualHost>
    
  • /etc/apache2/sites-available/default-ssl.conf像这样编辑端口号:

    <IfModule mod_ssl.c>
      <VirtualHost *:44302>
        ....
      </VirtualHost>
    </IfModule>
    
  • /etc/apache2/sites-available也编辑了里面其他虚拟主机的端口号。

  • 重新启动 Apache

  • netstat确认 Apache 正在使用以及监听新端口,lsof并得到以下信息:

网络状态:

tcp6       0      0 :::44302         :::*            LISTEN      113959/apache2
tcp6       0      0 :::802           :::*            LISTEN      113959/apache2

lsof -i:802

COMMAND    PID     USER   FD   TYPE     DEVICE SIZE/OFF NODE NAME
apache2 113959     root    4u  IPv6 3543809823      0t0  TCP *:802 (LISTEN)
apache2 113960 www-data    4u  IPv6 3543809823      0t0  TCP *:802 (LISTEN)
apache2 113961 www-data    4u  IPv6 3543809823      0t0  TCP *:802 (LISTEN)

lsof -i:44302

COMMAND    PID     USER   FD   TYPE     DEVICE SIZE/OFF NODE NAME
apache2 117939     root    6u  IPv6 3547650042      0t0  TCP *:44302 (LISTEN)
apache2 117940 www-data    6u  IPv6 3547650042      0t0  TCP *:44302 (LISTEN)
apache2 117941 www-data    6u  IPv6 3547650042      0t0  TCP *:44302 (LISTEN)
  • 通过使用netstat和,确认没有其他任何东西正在监听端口 80 和 443 lsof

现在,当我尝试访问任何网站,甚至是端口 802 上的服务器 IP 地址时,都会出现错误This site can’t be reached。但是,可以通过端口 44302 正常访问站点/服务器 IP。

  • http://ipaddress:802http://example.com:802<----不起作用
  • https://ipaddress:44302https://example.com:44302<----工作正常

我做错了什么以及我该如何解决这个问题?

答案1

端口 44302 可以运行而端口 802 不运行的原因是,端口 44302 在防火墙的开放端口范围内,而端口 802 不在。

端口 0 - 1023 被视为特权端口,与其他端口不同,仅限于 root 用户使用。

将端口从 802 切换到通用端口 80 替代端口(例如 8080)即可解决问题。

答案2

看起来 apache 正在监听 ipv6

在 apache 的文档中是这样说的

If you want httpd to handle IPv4 connections only, regardless of what your platform and APR will support, specify an IPv4 address on all Listen directives, as in the following examples:

Listen 0.0.0.0:80
Listen 192.0.2.1:80

相关内容