我在Ubuntu上使用此命令,但它在端口8080上启动,并且我没有在运行其他服务器,因此我希望它在端口80上启动。我看到了可以设置bash脚本执行类似操作的方法这个,但是没有命令行标志或更简单的方法来指定端口吗?

python -m SimpleHTTPServer


评论

您是否以root用户身份运行?除非您具有root特权,否则您不能在端口<1024上侦听-我强烈建议不要这样做。

#1 楼

对于python 3.x版本,可能需要:

sudo python -m SimpleHTTPServer 80

1024以下的端口需要root特权。

正如George在评论中所添加的那样,以root身份运行此命令不是一个好主意-它打开了各种安全漏洞。

但是,它回答了问题。

评论


我还可以补充一点,以root用户身份运行此命令不是一个好主意-它会打开各种安全漏洞。

–内森·奥斯曼(Nathan Osman)
2011年11月14日19:56

@cwd :)低于1024的TCP / IP端口号是特殊的,因为不允许普通用户在其上运行服务器。这是一项安全措施,因为如果您在这些端口之一上连接到服务,就可以确定您拥有真实的东西,而不是某些黑客为您提供的伪造品。

– jrg
2011年11月14日在20:17

@cwd如果要在<1024端口上运行服务器,请使用iptables将传入的连接路由到≥1024端口。为了进行测试,请执行sudo nc -l 80(netcat)之类的操作。并查看为什么前1024个端口仅限于root用户?

–吉尔斯'所以-不再是邪恶的'
2011年11月14日23:42

@jrg <1024端口仅在您信任服务器上的sysadmin而不信任其他用户时才有意义。如今,在几个本地网络之外几乎没有用户:大多数服务器不是多用户计算机。

–吉尔斯'所以-不再是邪恶的'
2011年11月14日23:43

这是一个有关打开端口80后如何放弃特权的相关问题。

– jcollado
2011年11月21日在22:43

#2 楼

请执行以下操作:

python -m SimpleHTTPServer 50505


其中50505是端口号。