mar*_*tin 29 server iptables firewall networking ufw
我刚开始使用 Ubuntu/Linux,在为传入连接打开端口 80 时遇到了一些麻烦。
我运行了sudo ufw allow 80/tcp命令,当我运行时sudo ufw status,结果如下所示:
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
80/tcp ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
Run Code Online (Sandbox Code Playgroud)
但是,在尝试使用 cURL 连接到端口时,我仍然收到此错误。
无法连接到 MY_IP_ADDRESS 端口 80:连接被拒绝
当我运行此命令netstat -ntlp | grep LISTEN以查看打开了哪些端口时,我得到以下结果:
(No info could be read for "-p": geteuid()=1000 but you should be root.)
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp6 0 0 :::22 :::* LISTEN -
Run Code Online (Sandbox Code Playgroud)
这看起来不那么有希望..
如何为传入连接打开端口 80?
Flo*_*sch 17
没有程序在侦听端口 80,因此它已关闭,您无法连接到它。
您可以使用
sudo python -m SimpleHTTPServer 80
Run Code Online (Sandbox Code Playgroud)
启动一个简单的 web 服务器侦听端口 80,或者apache2如果你想要一个完整的 web 服务器,请安装类似 Apache (package ) 的东西。
小智 8
用:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
然后为了防止它在重启时丢失 iptables 配置,请使用:
sudo apt-get install iptables-persistent
Run Code Online (Sandbox Code Playgroud)
对我有用的是使用 iptable
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
您可以sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT在配置端口时使用它接受端口,以防止丢失您可以使用的此终端代码行sudo apt-get install iptables-persistent
在命令开头使用 sudo 的原因是让它以超级用户身份运行 持久将其用作持久连接到所提供的端口。你也可以使用PythonSimpleHTTPServer来测试它!这是一个很好的问题!谢谢你!
| 归档时间: |
|
| 查看次数: |
166143 次 |
| 最近记录: |