配置apache监听80以外的端口


102

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

"netstat -nal | grep 8079" shows "tcp  0 0 :::8079 :::* LISTEN"

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

我还需要配置什么?

Answers:


138

在中/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
不,只是“此网页不可用”的烦人消息。为了澄清起见,端口80可以正常工作。更改VirtualHost和Listen并不能解决我的问题。(AWS ubuntu)。顺便说一句,我需要它来听不同的端口的原因是因为我还配置nginx的听80
托默

1
简短的问题:您说要使用AWS ubuntu时是否在安全组中打开了入站端口?
Shankar ARUL-jupyterdata.com 2015年

1
如果NameVirtualHost *:80上面有行,Listen 80也要更改它……
Haider Ali

75

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

Listen 80

并更改它

Listen 8079

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


3
是的,但是我在第一行中提到我已经尝试过“我在httpd.conf中添加了LISTEN 8079指令”:((
vivek.m 2010年

哎呀 我没看到。可以在任何地方发布httpd.conf文件吗?您是否正在使用第三方软件Wamp,Xampp,Appserv?
ismailperim 2010年

您可以在此处获得httpd.conf fileuploading.net/860467,就像WAMP,Xampp,Appserv一样。我所做的就是从源代码编译apache,tomcat和jk连接器,并尽我所能使它们一起工作。
vivek.m 2010年

我没有发现问题:(一切似乎都正常。我尝试在本地服务器上添加Listen 8076行,但是它正常工作。如果可以的话,您可以尝试重新设置apache吗?
ismailperim 2010年

2
回答此类问题时,每个人似乎忘记的一件事是提及文件位置。该文件位于/etc/apache2/ports.conf
Mateus Viccari

23

这是防火墙问题。有一个硬件防火墙阻止了几乎所有端口的访问。(关闭软件防火墙/ 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


netstat -anp | grep apache2(如果正在运行,您可以从中看到监听端口和
PID。Ubuntu

我的云服务提供商的顶部有防火墙阻止了端口。检查放置在目标服务器之外的防火墙。
Yamada

15

如果您需要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>

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重定向到

/ var / www / html / api_folder

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

sudo service httpd restart


2

如果您在Windows上使用Apache

  1. 使用Win+ R+ services.msc+ 检查Apache服务的名称Enter(如果不是ApacheX.Y,则应具有您正在与apache一起使用的软件的名称,例如:“ wampapache64”);
  2. 管理员身份启动命令提示符(使用Win+ R+ cmd+ Enter是不够的);
  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. 如果一切正常,则问题不再存在,但是如果您得到:

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

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

    如果端口号不是您要使用的端口号,请打开Apache配置文件(例如C:\wamp\bin\apache\apache2.4.9\conf\httpd.conf,使用代码编辑器或写字板打开,但不使用记事本打开-不能正确读取新行),然后替换开头的行号与Listen您想要的端口号一起保存,然后重复步骤6。如果您要使用的端口号,则继续:

  8. 通过Win+ R+ resmon+ 检查使用该端口的进程的PID Enter,单击“ 网络”选项卡,然后单击“ 端口”子选项卡;
  9. 与杀死它:taskkill /pid NUMBER /f/f力量吧);
  10. 重新检查resmon以确认该端口现在可用,然后重复步骤6。

这可以确保Apache的服务正常启动,如果要在其中设置文件路径并更改端口,则必须在sarul提到的虚拟主机配置文件上进行配置(例如:)C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf。如果再次更改,请记住重新启动服务:httpd.exe -k restart -n "YourServiceName"


1

对于FC22服务器

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

变更:聆听80聆听:听任何数字

保存文件

systemctl重新启动httpd.service [enter](如果需要),在路由器/防火墙中打开任何数字

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.