0

执行 ./script/server 命令时出现此错误。

虽然,我可以在其他端口上运行它,但我想在端口 80 上运行 Diaspora。

致命 -- : 添加监听器时出错 addr=0.0.0.0:80 23:14:23 web.1 | /home/diaspora/.rvm/gems/ruby-2.0.0-p353@diaspora/gems/unicorn-4.8.0/lib/unicorn/socket_helper.rb:185:in `bind':权限被拒绝 - 绑定(2) (Errno::EACCES)

请帮我解决这个问题。提前致谢!!

4

1 回答 1

0

不。

Ruby 应用程序服务器不像常见的网络服务器/反向代理那样坚固。侨民也不是。这里存在安全漏洞的可能性要高得多,如果以 root 身份运行,可能会危及整个服务器。这本质上是不好的做法。

这是更糟糕的做法,因为大多数 Ruby 应用程序服务器不处理 HTTPS,即使它们最好由更广泛使用的软件完成,例如上述网络服务器/反向代理。

因此,请改为在端口 80 上运行 Apache 或 Nginx。您可以在此处找到 Apache 的示例配置,在此处找到Nginx的示例配置。

作为一般建议,不要以 root 身份运行任何东西,除非您能解释为什么必须这样做以及为什么没有办法以及为什么不能有替代方案。或者,如果有能力的人明确告诉您这样做。

于 2014-05-21T20:31:33.957 回答