配置apache监听80以外的端口

viv*_*k.m 95 apache2 apache-config

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

"netstat -nal | grep 8079" shows "tcp  0 0 :::8079 :::* LISTEN"
Run Code Online (Sandbox Code Playgroud)

如果我尝试访问http://localhost:8079http://myserver.com:8079从该计算机访问,我可以访问该页面.但是从任何其他机器我无法访问80以外的任何端口上的站点.在端口80上,它可以工作.在端口8079上没有.

我还需要配置什么?

jet*_*com 131

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

Listen 8079
Run Code Online (Sandbox Code Playgroud)

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

并将第一行更改为

<VirtualHost *: 8079>
Run Code Online (Sandbox Code Playgroud)

现在重启

sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)

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

  • 不,只是“此网页不可用”的烦人消息。需要澄清的是,80 端口工作正常。更改 VirtualHost 和 Listen 并不能解决我的问题。(AWS ubuntu)。顺便说一句,我需要它来监听不同端口的原因是因为我还配置了 nginx 来监听 80。 (2认同)

ism*_*rim 76

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

Listen 80
Run Code Online (Sandbox Code Playgroud)

并改变它

Listen 8079
Run Code Online (Sandbox Code Playgroud)

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

  • 是的,但我在第一行中提到我已经尝试过这个"我在httpd.conf中添加了LISTEN 8079指令":(( (3认同)
  • 在回答这类问题时,每个人似乎都忘了一件事就是提到档案位置.该文件位于/etc/apache2/ports.conf中 (2认同)

viv*_*k.m 21

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

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

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

sudo nmap -T Aggressive -A -v 127.0.0.1 -p 1-65000
Run Code Online (Sandbox Code Playgroud)

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

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


dmi*_*tri 10

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

"/etc/apache2/ports.conf"

侦听端口列表

Listen 80
Listen 81
Listen 82
Run Code Online (Sandbox Code Playgroud)

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

<VirtualHost *:80>
  #...v host 1
</VirtualHost>


<VirtualHost *:81>
  #...host 2
</VirtualHost>


<VirtualHost *:82>
  #...host 3
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)


Ahm*_*awy 7

这对Centos有用

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

Listen 8079 
Run Code Online (Sandbox Code Playgroud)

Listen 80
Run Code Online (Sandbox Code Playgroud)

这直到你的服务器收听端口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>
Run Code Online (Sandbox Code Playgroud)

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

在/ var/www/html等/ api_folder

但您需要先重启服务

sudo service httpd restart