Linux 在 linux 上配置 web 服务器端口

标签 linux playframework webserver

<分区>

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

http://www.example.net:9999 

如何修改为

http://www.example.net

我也想运行一个 ssh 端口

http://www.example.net:9443 

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

更新 按照下面的 biesirs 回答,我意识到默认情况下,如果您将 ssh 端口设置为 443,那么您会自动获取 url

https://www.example.net

相当于

https://www.example.net:443

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

所以答案是

You need to be root (superuser) to bind to ports under 1024. That's why 9443 works, but 443 doesn't

所以我的问题仍然是如何使用端口 9443 运行但具有下面的 url 并且可以以 root 身份运行网络服务器是否可以,这似乎不正确

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

最佳答案

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

  1. 使用端口 80 启动您的应用程序 - 如果可用的话
  2. 如果您有一些通用网络服务器在端口 80 上工作(并想保留它),您需要将其配置为作为 front-end HTTP server as described in the docs 工作。

关于Linux 在 linux 上配置 web 服务器端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24733783/

相关文章:

linux - 在 shell 脚本中使用 Beeline 代替 hive

java - 如何在 Play Framework 中获取预定作业的结果?

php - 在站点的每个文件夹中放置一个 index.php(或 .html)文件,是一种良好的安全措施吗?

c - 为什么从 usb char 设备读取卡住?

mysql - 如何合并两个不同时间点的 MySQL 数据库?

java - 玩!无法将 java 列表转换为 scala 列表

testing - 您如何针对多个服务器有效地运行测试自动化以进行验证?

node.js - 端口转发无法设置本地 Web 服务器

linux - 如何将 StdOut 添加到文件的顶部(而不是底部)?

java - 是否有一种默认方法可以读取正在 Play 的文件,即使在生产环境中也可以使用?