首页 > 解决方案 > 如何从生产 Rails 应用程序中的 URL 中删除端口 3000

问题描述

我在 Rails 5.2.3 应用程序中同时使用_path_url助手。一切都在开发中。当我在生产中部署它时,使用_url帮助程序设置的 URL 会在 HTML 中打印出来,https://127.0.0.1而不是打印到实际的主机上。

我尝试将其添加到config/environments/production.rb

config.action_controller.default_url_options = { host: 'example.com' }

但这会将 URL 转换为https://example.com:3000,从而破坏链接。(Puma 在 3000 端口上运行,但它在 nginx 后面,它在 80 端口上提供服务。)

有谁知道可能是什么原因造成的?RAILS_ENV设置为production

标签: ruby-on-rails

解决方案


代替

 config.action_controller.default_url_options = { host: 'example.com' }

在 production.rb 中试试这个

Rails.application.routes.default_url_options[:host] = 'your_host.com'

推荐阅读