将Rails服务器绑定到Linux上的端口80,而不以root用户身份运行它

阿杰迪32

我试图找到一种方法来将我的生产Rails服务器绑定到端口80,而不必使用root特权运行整个服务器。我的问题基本上与“非根进程是否可以绑定到Linux上的“特权”端口(<1024)的方法? ”相同,只是我需要使用Rails来做到这一点。目前,我所提到的问题的前两个答案要么要求我向CAP_NET_BIND_SERVICERuby解释器授予权限(可能不是一个好主意),要么在启动服务器后放弃root特权(我不确定Ruby是否可以实现)。有任何想法吗?

阿杰迪32

因此,基本上,答案是您没有。可能有一些真正的技巧可以使这项工作完成,但是您实际想要这样做的几率非常低。相反,请在非特权端口上运行Rails,并设置像nginx这样的真实Web服务器以转发到Rails。

作为一个非常简单的示例,在nginx中,您可以使用如下配置文件:

upstream rails_server {
  server localhost:3000;
}

server {
  listen 80;

  location / {
    root /home/deploy_user/rails_app/public;
    try_files $uri @missing;
  }

  location @missing {
    proxy_pass http://rails_server;
    proxy_set_header Host $http_host;
    proxy_redirect off;
  }
}

从长远来看,该解决方案也更好,因为它使您的基础架构更加灵活。例如,如果您需要将应用程序扩展到多台计算机,则可以使用nginx作为负载平衡器,并将其转发请求到运行在不同计算机上的大量Rails服务器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Wamp服务器无法绑定到端口80错误

来自分类Dev

将 nodejs 部署到端口 80 上的 http 服务器

来自分类Dev

Git服务器将目录绑定到端口

来自分类Dev

Docker教程都绑定到端口80,并且由于端口80已在使用中而在本地和远程服务器上失败

来自分类Dev

如何不以root用户身份运行服务

来自分类Dev

在ubuntu服务器上:以其他用户身份(不是root用户)运行Chrome

来自分类Dev

如何在Ubuntu服务器上以root身份而不是root身份运行命令?

来自分类Dev

如何在端口80上运行Boost.Asio服务器?

来自分类Dev

如何在端口 80 上运行气流网络服务器

来自分类Dev

如何在Linux服务器的端口80上启动node.js?

来自分类Dev

Linux中的Rails。服务器是否在主机“ localhost”(:: 1)上运行并在端口5432上接受TCP / IP连接?

来自分类Dev

如何使Jetty Web服务器在端口80上侦听?

来自分类Dev

在Ubuntu服务器上打开端口80

来自分类Dev

Windows 10在端口80上具有服务器

来自分类Dev

将TcpClient连接到远程Tcp服务器,并绑定到特定的本地端口

来自分类Dev

tcp 服务器未绑定到特定端口

来自分类Dev

如何在Ubuntu服务器14.04上的ubuntu-dektop中以root用户身份登录

来自分类Dev

Rails重定向到同一服务器上的不同端口和协议

来自分类Dev

是否允许非root用户进程绑定到端口80和443?

来自分类Dev

以root以外的系统用户身份在CentOS上运行服务

来自分类Dev

使用Spring以非root用户身份在端口80上启动bootRun进程

来自分类Dev

如何将后端服务器的帐户绑定到 Google 助理用户

来自分类Dev

Rails服务器将无法运行

来自分类Dev

为什么不以root用户身份运行uwsgi实例

来自分类Dev

在Linux服务器上运行PHPPowerpoint

来自分类Dev

允许用户访问服务器上的某些端口

来自分类Dev

通过非自举可执行文件将puma服务器上的sinatra应用设置为端口80

来自分类Dev

以非超级用户身份运行闪亮的服务器

来自分类Dev

如何防止服务器上的用户访问 root 用户?

Related 相关文章

  1. 1

    Wamp服务器无法绑定到端口80错误

  2. 2

    将 nodejs 部署到端口 80 上的 http 服务器

  3. 3

    Git服务器将目录绑定到端口

  4. 4

    Docker教程都绑定到端口80,并且由于端口80已在使用中而在本地和远程服务器上失败

  5. 5

    如何不以root用户身份运行服务

  6. 6

    在ubuntu服务器上:以其他用户身份(不是root用户)运行Chrome

  7. 7

    如何在Ubuntu服务器上以root身份而不是root身份运行命令?

  8. 8

    如何在端口80上运行Boost.Asio服务器?

  9. 9

    如何在端口 80 上运行气流网络服务器

  10. 10

    如何在Linux服务器的端口80上启动node.js?

  11. 11

    Linux中的Rails。服务器是否在主机“ localhost”(:: 1)上运行并在端口5432上接受TCP / IP连接?

  12. 12

    如何使Jetty Web服务器在端口80上侦听?

  13. 13

    在Ubuntu服务器上打开端口80

  14. 14

    Windows 10在端口80上具有服务器

  15. 15

    将TcpClient连接到远程Tcp服务器,并绑定到特定的本地端口

  16. 16

    tcp 服务器未绑定到特定端口

  17. 17

    如何在Ubuntu服务器14.04上的ubuntu-dektop中以root用户身份登录

  18. 18

    Rails重定向到同一服务器上的不同端口和协议

  19. 19

    是否允许非root用户进程绑定到端口80和443?

  20. 20

    以root以外的系统用户身份在CentOS上运行服务

  21. 21

    使用Spring以非root用户身份在端口80上启动bootRun进程

  22. 22

    如何将后端服务器的帐户绑定到 Google 助理用户

  23. 23

    Rails服务器将无法运行

  24. 24

    为什么不以root用户身份运行uwsgi实例

  25. 25

    在Linux服务器上运行PHPPowerpoint

  26. 26

    允许用户访问服务器上的某些端口

  27. 27

    通过非自举可执行文件将puma服务器上的sinatra应用设置为端口80

  28. 28

    以非超级用户身份运行闪亮的服务器

  29. 29

    如何防止服务器上的用户访问 root 用户?

热门标签

归档