Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iptables,apache,linuxmint(Ubuntu),从端口80转发到1080,没有可用的监听套接字,正在关闭_Linux_Apache_Iptables - Fatal编程技术网

iptables,apache,linuxmint(Ubuntu),从端口80转发到1080,没有可用的监听套接字,正在关闭

iptables,apache,linuxmint(Ubuntu),从端口80转发到1080,没有可用的监听套接字,正在关闭,linux,apache,iptables,Linux,Apache,Iptables,我用佩德罗的答案改写了这个问题 当我尝试执行简单脚本时,出现错误“没有可用的侦听套接字,正在关闭”: $ apache2ctl -f `pwd`/conf/httpd.conf -d `pwd` 在基于Ubuntu的Linux Mint上 我在目录/usr/www/apache3/site.chobble,, /usr/www/apache3/site.chobble/conf/httpd.conf的内容如下 User www-data Group www-data # added to g

我用佩德罗的答案改写了这个问题

当我尝试执行简单脚本时,出现错误“没有可用的侦听套接字,正在关闭”:

$  apache2ctl -f `pwd`/conf/httpd.conf -d `pwd`
在基于Ubuntu的Linux Mint上

我在目录
/usr/www/apache3/site.chobble
,,
/usr/www/apache3/site.chobble/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>
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 
$ sudo netstat -ltnp | grep ':1081'
tcp6       0      0 :::1081        :::*   LISTEN      3160/apache2 
但是运行命令:
apache2ctl-f
pwd
/conf/httpd.conf-d
pwd
给出错误
“没有可用的侦听套接字,正在关闭
AH00015:无法打开日志
行动'-f/usr/www/apache3/site.cubble/conf/httpd.conf-d/usr/www/apache3/site.cubble'失败。

通过使用netstat进行检查,可以确定apache侦听端口1081:

 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 
$ sudo netstat -ltnp | grep ':1081'
tcp6       0      0 :::1081        :::*   LISTEN      3160/apache2 

在将端口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设置为在不同端口上运行的信息,请参阅本文:

非常感谢您。看来我的错误在别的地方。如果我真的像你说的那样,我得到了一个错误:
(98)地址已在使用:AH00072:make_sock:无法绑定到地址[:]:1080(98)地址已在使用:AH00072:make_sock:无法绑定到地址0.0.0.0:1080没有可用的侦听套接字,关闭。
原因似乎是我的脚本envoke/usr/www/apache3/site.cubble/conf/httpd.conf无法连接1080,因为/etc/apache2/ports.conf也侦听这个端口。我从
/usr/www/apache3/site.cubble/conf/httpd.conf
中删除了
侦听1081
,离开
仅在
/etc/apache2/ports.conf
中收听1081
。我已遵照你(佩德罗)的指示/命令行事。最后,如果我选中了
$sudo netstat-ltnl | grep'
----我得到了:
tcp6 0:::1081:::*LISTEN
,这不会将apache2作为侦听程序。如何理解这个输出?无论如何,我的脚本仍然无法工作,我收到错误:
没有可用的侦听套接字,正在关闭
。您是否运行了apache3和apache2?如果是这样,试着阻止他们中的一个,因为他们可能在争夺港口。尝试使用-p选项使netstat显示程序。您的grep输出表明您只在使用ipv6的1081上收听。我运行apache2。文件夹中的apache3名称来自Apache3rd版的第一个示例
site.chobble
。。劳里,本;劳里,彼得;2007年我根据你的例子改写了这个问题。我仍然收到错误
没有可用的侦听套接字,关闭
可能是一个愚蠢的问题,但是您是否尝试过类似
sudo service apache2 restart
?您可能试图启动它而不先停止它。