配置apache监听80以外的端口

时间:2010-10-15 09:15:40

标签: 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:8079http://myserver.com:8079,我可以访问该页面。但是从任何其他机器我无法访问80以外的任何端口上的站点。在端口80上,它可以工作。在端口8079上没有。

我还需要配置什么?

8 个答案:

答案 0 :(得分:121)

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

Listen 8079

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

将第一行更改为

<VirtualHost *: 8079>

现在重启

sudo service apache2 restart

Apache现在将侦听端口8079并重定向到/ var / www / html

答案 1 :(得分:76)

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

Listen 80

并改变它

Listen 8079

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

答案 2 :(得分:21)

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

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

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

sudo nmap -T Aggressive -A -v 127.0.0.1 -p 1-65000

它将扫描系统上的所有打开端口。任何打开的端口都可以从外部访问。

参考http://www.go2linux.org/which_service_or_program_is_listening_on_port

答案 3 :(得分:7)

这对我在Centos上工作

首先 /etc/httpd/conf/httpd.conf

添加

Listen 8079 

之后

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>

这意味着当您转到www.example.com:8079重定向到

<强> /无功/网络/ HTML / api_folder

但您首先需要重启服务

sudo service httpd restart

答案 4 :(得分:7)

如果你需要80以外的apache Listen端口,你应该在ubuntu下添加下一个文件

  

“的/ etc / apache2的/ ports.conf”

侦听端口列表

// declare size and an empty "board" string
var size = 8;
var board = "";

// Outerloop for rows
for (let i = 1; i <= size; i++) {
  // inner loop for columns
  for (let j = 1; j <= size; j++) {
    if ((i+j) % 2 == 0) { // check if col is even
      board += " ";
    } else { // if col is odd
      board += "#";
    }
  }
  board += "\n"; // jump to next row
}
console.log(board);

继续使用虚拟主机conf文件后,定义下一个

Listen 80
Listen 81
Listen 82

答案 5 :(得分:2)

如果您使用Apache on Windows

  1. 使用 Win + R + services.msc + 输入检查Apache服务的名称(如果它是&#39; s不是ApacheX.Y,它应该具有您使用apache的软件的名称,例如:&#34; wampapache64&#34;);
  2. 开始command prompt as Administrator(使用 Win + R + cmd + 输入是不够的); < / LI>
  3. 更改为Apache的目录,例如:cd c:\wamp\bin\apache\apache2.4.9\bin;
  4. 使用httpd.exe -n "YourServiceName" -t检查配置文件是否正常(使用您在步骤1中找到的服务名称替换服务名称);
  5. 确保服务已停止:httpd.exe -k stop -n "YourServiceName"
  6. httpd.exe -k start -n "YourServiceName"
  7. 开头
  8. 如果它开始正常,则问题不再存在,但如果你得到:

      

    AH00072:make_sock:无法绑定到地址IP:PORT_NUMBER

         

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

    如果端口号不是您想要使用的端口号,则打开Apache配置文件(例如C:\wamp\bin\apache\apache2.4.9\conf\httpd.conf使用代码编辑器或wordpad打开,但 not notepad - 它确实不能正确读取新行)并将以Listen开头的行号替换为所需端口号,保存并重复步骤6.如果是您想要使用的那个,则继续:

  9. 使用 Win + R + resmon + 输入检查正在使用该端口的进程的PID,点击网络标签,然后点击端口子标签;
  10. 杀死它:taskkill /pid NUMBER /f/f强制它);
  11. 重新检查resmon以确认该端口现在是免费的并重复步骤6.
  12. 这确保Apache服务正确启动,如果您在那里设置文件路径并更改端口,则需要virtual hosts config file as sarul mentioned上的配置(例如:C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf) 。如果再次更改,请记住重新启动服务:httpd.exe -k restart -n "YourServiceName"

答案 6 :(得分:1)

对于FC22服务器

cd / etc / httpd / conf 编辑httpd.conf [enter]

变化: 听80 至: 听听whatevernumber

保存文件

systemctl restart httpd.service [enter] 如果需要,在路由器/防火墙中打开whatevernumber

答案 7 :(得分:0)

如果启用了ufw(非复杂防火墙),请运行此命令。 添加示例端口8080

$ sudo ufw allow 8080/tcp

您可以通过运行来检查状态

$ sudo ufw status

有关更多信息,请检查: propagation