Linux在Linux上配置Web服务器端口

时间:2014-07-14 09:51:31

标签: linux playframework webserver

我在Linux上运行Play Framework,目前URL是

http://www.example.net:9999 

如何将其更改为

http://www.example.net

我也想运行一个ssh端口

http://www.example.net:9443 

这是linux配置还是在Web服务器上? 如果它的linux任何相关的链接会有所帮助。

UPDATE 按照下面的biesiors回答,我意识到默认情况下,如果你为ssh设置端口为443,那么你会自动获得网址

https://www.example.net

相当于

https://www.example.net:443

然而,这仍然不适用于我的ec2实例。经过一些调查和反复试验,我发现如果我用root启动我的Web服务器,那么这个端口就可以使用了。所以现在我只需要弄清楚权限。

所以答案是

  

你需要root(超级用户)绑定到1024以下的端口。这就是为什么9443有效,但443没有

所以我的问题仍然是我如何使用端口9443运行,但是下面有url并且可以以root身份运行web服务器,它似乎不对

https://www.example.net

编辑2: 所以答案是你需要重新映射IP表中的端口

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80  -j REDIRECT --to-port 9000
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 9443

2 个答案:

答案 0 :(得分:1)

虽然你的问题非常广泛......我猜你有两个可能的解决方案:

  1. 使用端口80启动您的应用程序 - 如果可用
  2. 如果您有一些常用的Web服务器在端口80上运行(并希望保留它),则需要将其配置为front-end HTTP server as described in the docs

答案 1 :(得分:0)

为了使用端口9443而不是您需要为root用户或超级用户的默认ssl端口443,您需要重新映射iptables中的端口

对于playframework,默认端口为9000而不是80或8080,因此您需要重新映射

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80  -j REDIRECT --to-port 9000

对于ssl端口,您需要从443映射到9443,所以

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 9443