iptables,apache,Linux Mint(Ubuntu),从端口80转发到1080,没有可用的侦听套接字,关闭

时间:2016-04-13 19:07:43

标签: linux apache iptables

我用Pedro的答案重写了这个问题。

当我尝试执行简单脚本时,我收到错误“no listening sockets available, shutting down”

$  apache2ctl -f `pwd`/conf/httpd.conf -d `pwd`

基于Ubuntu的Linux Mint。

我在/usr/www/apache3/site.toddle目录中, /usr/www/apache3/site.toddle/conf/httpd.conf的内容是

User www-data
Group www-data
# added to get rid of apache2: Configuration error: No MPM loaded
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf

#copied from 000-default.conf from /etc/apache2/sites-available
<VirtualHost *:1081>
    ServerName my586
    ServerAdmin webmaster@localhost
    DocumentRoot /usr/www/apache3/site.toddle/htdocs/
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

我已经关注了佩德罗的回答和链接。

1)使用sudo gedit /etc/apache2/ports.conf添加到/etc/apache2/ports.conf行并保存文件:

#original: Listen 80
Listen 1081

2)使用$ sudo /etc/init.d/apache2 restart

重新启动apache

3)使用Pedro示例为端口1081配置iptables:

 sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 1081
 sudo iptables-save
 sudo iptables -t nat -I OUTPUT -p tcp -d 127.0.0.1 --dport 80 -j REDIRECT --to-ports 1081
 sudo iptables-save 

但是运行命令:apache2ctl -f pwd /conf/httpd.conf -d pwd 给出错误"no listening sockets available, shutting down AH00015: Unable to open logs Action '-f /usr/www/apache3/site.toddle/conf/httpd.conf -d /usr/www/apache3/site.toddle' failed."

使用netstat进行检查,让apache监听端口1081:

$ sudo netstat -ltnp | grep ':1081'
tcp6       0      0 :::1081        :::*   LISTEN      3160/apache2 

1 个答案:

答案 0 :(得分:1)

对我来说,将端口80上的传入流量重定向到端口1080上的apache服务器的规则是:

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 1080
sudo iptables -t nat -I OUTPUT -p tcp -d 127.0.0.1 --dport 80 -j REDIRECT --to-ports 1080

您可以通过在服务器上的端口1080上使用netcat进行侦听,并尝试使用来自其他计算机的netcat连接到端口80上的服务器来测试这些规则。

然后确保您的apache服务器将其配置设置为端口1080。

请参阅此帖子以设置Apache在不同端口上运行: Configure apache to listen on port other than 80