Apache2 将apache配置为在80以外的端口上侦听

Apache2 将apache配置为在80以外的端口上侦听,apache2,apache-config,Apache2,Apache Config,我使用centOS服务器。我想将apache配置为在8079端口上侦听。 我在httpd.conf中添加了LISTEN 8079指令 我在iptables中打开了8079端口并重新启动了iptables。我甚至停止了iptables服务 "netstat -nal | grep 8079" shows "tcp 0 0 :::8079 :::* LISTEN" 如果我尝试访问http://localhost:8079或http://myserver.com:8079从那台机器上,我可以访问该

我使用centOS服务器。我想将apache配置为在8079端口上侦听。 我在
httpd.conf
中添加了LISTEN 8079指令
我在iptables中打开了8079端口并重新启动了iptables。我甚至停止了iptables服务

"netstat -nal | grep 8079" shows "tcp  0 0 :::8079 :::* LISTEN"
如果我尝试访问
http://localhost:8079
http://myserver.com:8079
从那台机器上,我可以访问该页面。但从任何其他机器上,我都无法访问除80以外的任何端口上的站点。在端口80上,它可以工作。在端口8079上,它没有


我还需要配置什么

在文本编辑器中打开httpd.conf文件。 找到这一行:

Listen 80
并改变它

Listen 8079

更改后,保存并重新启动apache

这是一个防火墙问题。有一个硬件防火墙阻止了对几乎所有端口的访问。(关闭软件防火墙/SELinux bla bla无效)

然后我扫描打开的端口并使用打开的端口

如果遇到相同的问题,请运行以下命令

sudo nmap -T Aggressive -A -v 127.0.0.1 -p 1-65000
它将扫描系统上所有打开的端口。任何打开的端口都可以从外部访问


Ref

/etc/apache2/ports.conf
中,将端口更改为

Listen 8079
然后转到/etc/apache2/sites enabled/000-default.conf

并将第一行更改为

<VirtualHost *: 8079>
Apache现在将侦听端口8079并重定向到FC22服务器的/var/www/html

cd/etc/httpd/conf 编辑httpd.conf[输入]

更改: 听80 致: 听什么号码

保存文件

systemctl重新启动httpd.service[输入]
如果需要,请在路由器/防火墙中打开whatevernumber,这在Centos上对我有效

首先:文件/etc/httpd/conf/httpd.conf

之后

Listen 80
这会让您的服务器监听端口8079

第二步:转到您的虚拟主机,例如/etc/httpd/conf.d/vhost.conf

并在下面添加此代码

<VirtualHost *:8079>
   DocumentRoot /var/www/html/api_folder
   ServerName example.com
   ServerAlias www.example.com
   ServerAdmin root@example.com
   ErrorLog logs/www.example.com-error_log
   CustomLog logs/www.example.com-access_log common
</VirtualHost>

DocumentRoot/var/www/html/api_文件夹
ServerName example.com
ServerAlias www.example.com
服务器管理员root@example.com
ErrorLog logs/www.example.com-error\u log
CustomLog logs/www.example.com-access_log common
这意味着当您转到
www.example.com:8079
重定向到

/var/www/html/api_文件夹

但您需要首先重新启动服务

sudo服务httpd重启

如果您正在使用:

  • 使用Win+R+
    services.msc
    +Enter检查Apache服务的名称(如果它不是ApacheX.Y,它应该有您与Apache一起使用的软件的名称,例如:“wampapache64”)
  • 启动a(使用Win+R+
    cmd
    +Enter是不够的)
  • 更改到Apache的目录,例如:
    cdc:\wamp\bin\Apache\apache2.4.9\bin
  • 使用以下命令检查配置文件是否正常:
    httpd.exe-n“YourServiceName”-t
    (将服务名称替换为步骤1中找到的名称)
  • 确保服务已停止:
    httpd.exe-k stop-n“YourServiceName”
  • 开始时使用:
    httpd.exe-k Start-n“YourServiceName”
  • 如果启动正常,则问题不再存在,但如果您得到:

    AH00072:make_sock:无法绑定到地址IP:端口号

    AH00451:没有可用的侦听套接字,正在关闭

    如果端口号不是您想要使用的,则打开Apache配置文件(例如
    C:\wamp\bin\Apache\apache2.4.9\conf\httpd.conf
    使用代码编辑器或写字板打开,但不是记事本-它无法正确读取新行)并将以
    Listen
    开头的行中的数字替换为所需的端口号,保存并重复步骤6。如果它是您想要使用的,请继续:

  • 通过Win+R+
    resmon
    +Enter检查正在使用该端口的进程的PID,单击网络选项卡,然后单击端口子选项卡
  • 使用以下命令杀死它:
    taskkill/pid NUMBER/f
    /f
    强制)
  • 重新检查
    resmon
    以确认端口现在可用,并重复步骤6

  • 这确保了Apache的服务已正确启动,如果要在其中设置文件路径并更改端口,则必须在上进行配置(例如:
    C:\wamp\bin\Apache\apache2.4.9\conf\extra\httpd vhosts.conf
    )。如果再次更改,请记住重新启动服务:
    httpd.exe-k restart-n“YourServiceName”

    如果需要80以外的apache侦听端口,则应在ubuntu下添加下一个文件

    “/etc/apache2/ports.conf”

    侦听端口的列表

    Listen 80
    Listen 81
    Listen 82
    
    之后,您必须进入虚拟主机conf文件并定义下一步

    <VirtualHost *:80>
      #...v host 1
    </VirtualHost>
    
    
    <VirtualHost *:81>
      #...host 2
    </VirtualHost>
    
    
    <VirtualHost *:82>
      #...host 3
    </VirtualHost>
    
    
    #…v主机1
    #…主机2
    #…主机3
    
    如果启用了ufw(简单防火墙),请运行此命令。 添加例如端口8080

    $ sudo ufw allow 8080/tcp
    
    您可以通过运行来检查状态

    $ sudo ufw status
    
    有关更多信息,请查看:

    是的,但我在第一行提到我已经尝试过这个“我在httpd.conf中添加了LISTEN 8079指令”:((哦,对不起。我没有看到。你能把httpd.conf文件发布到任何地方吗?你在使用第三方软件Wamp、Xampp、Appserv吗?你可以在这里获得httpd.conf,没有Wamp、Xampp、Appserv。我所做的只是从源代码处编译apache、tomcat和jk connector,并尽我所能使它们协同工作。我没有发现问题:(一切似乎都正常。我尝试在本地服务器中添加Listen 8076行,但工作正常。如果可能,您可以尝试重新设置apache吗?回答此类问题时,每个人似乎都忘记了一件事,那就是提到文件位置。文件位于/etc/apache2/ports.confNo,只是“此网页不可用”恼人的消息。只是澄清一下,端口80工作得很好。更改虚拟主机和侦听都可以
    $ sudo ufw allow 8080/tcp
    
    $ sudo ufw status