南希单主机无法在80端口启动

4

我在树莓派上运行一个自托管的 Nancy 应用程序,但是我无法将其绑定到 80 端口!

它可以在 81、8090 端口工作,甚至我还尝试了其他 "保留 "端口,如 443。它们都能工作,除了 80。

我正在使用 sudo 启动应用,所以它不应该是权限问题,81 也可以工作。

sudo mono Lambda.Console.exe

显然的罪魁祸首是有其他东西在使用80端口,但我无法找出是什么。我已经尝试了通常的方法;
netstat -ln - nothing is listening on port 80

telnet port 80 - connection is refused, suggesting nothing is listening

还有其他建议吗?可能有一个进程仍在使用该端口,导致我卡在这一点上。

谢谢

Dave


有什么进展吗?我遇到了同样的问题。 - JarrettV
抱歉,我还没有找到问题的根源,但我仍在继续搜索! - David Ritchie
嘿 @JarrettV,下面的两个答案都解决了我的问题。希望它们对你也有用。干杯! - David Ritchie
2个回答

2

这是Mono HttpListener中的一个错误,我在这里创建了一个pull request: https://github.com/mono/mono/pull/891 不幸的是,我没有找到解决方法。我将尝试在Nancy中找到一个更稳健的解决方法,因为版本发布更加频繁。


嘿,David,这听起来非常有前途。很好的发现。我正要拉取你的Nancy分支开始我的测试。干杯,Dave。 - David Ritchie
我刚刚确认了你在Nancy中的修复对我有效。@david-karlas感谢您发现并解决了这个问题 :-) - David Ritchie

1
我还发现了一个解决问题的方法,它涉及将端口80映射到您的Nacy应用程序实际绑定的端口。
sudo /sbin/iptables -t nat -A PREROUTING -i eth+ -p tcp --dport 80 -j REDIRECT --to-port 8080

你可以使用相同的命令,但使用-D而不是-A来撤消此操作,如果您想检查它是否存在,则使用-C更好。理想情况下,最好使用@david-karlas的Nancy补丁,或者如果有一个mono修复程序,但如果您必须使用旧的mono版本和旧的Nancy版本,则这也可以工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接