【问题标题】:Rails - How can I remove the :3000 from the URL in rails thin server?Rails - 如何从 Rails 瘦服务器的 URL 中删除 :3000?
【发布时间】:2016-09-13 16:48:14
【问题描述】:

我已将我的 Rails 瘦服务器绑定到本地 IP。我已将域名命名为 project1。但是当我将主机名更改为 project1 时,有时它会转到 project1:3000。如何从 URL 中删除 :3000?

【问题讨论】:

  • 如果您在非标准端口上托管,那么端口必须在那里。否则浏览器将简单地使用默认的 80/443。你不能神奇地将http://example.com 指向端口 8000,因为这不是默认值。
  • 你想在开发中这样做吗?如果这是你的应用程序的部署版本,你应该在“生产”模式下运行你的应用程序。
  • 我也尝试在生产模式下运行服务器。但端口号存在于 URL 中。

标签: ruby-on-rails-4 thin


【解决方案1】:

网络标准是:

  • http 是 80 端口。
  • https 是 443 端口。

当你转到http://stackoverflow.com时,它与http://stackoverflow.com:80相同或https://www.google.comhttps://www.google.com:443相同

所以,网址末尾的 :3000 是您的开发服务器指向的端口,这是 Web 开发的正常行为。所有现代框架都将在不同的端口上为开发站点提供服务,3000 是最常见的。这样做有很多原因,有两个好的原因。

  1. 无需更改任何权限即可在端口 3000 上运行,就像您想在 80 上运行一样,如果您在 443 上运行,则不需要我们提供 ssl 证书。
  2. 您可以判断您何时处于开发阶段。

你正在尝试做一些你不应该做的事情。如果您没有使用正确的辅助方法在 Rails 中构建链接,您可能会遇到一些问题。

现在您知道为什么不应该这样做了。您可以像 rails server -b THEIPYOUWANTTOUSE -p 80 一样更改 rails server 命令中的端口。您必须拥有正确的权限。

【讨论】:

    【解决方案2】:

    首先,您需要代理服务器,因为 Rails 有他们的应用服务器,例如 Thin、puma、rack,并且您需要接受对您的 IP(nginx、apache)的请求并将它们提供给 rails 服务器的服务器。有很多指南如何在生产模式下部署 Rails 应用程序。试试this 指南或this one。这将帮助您在生产模式下运行您的应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多