gpt4 book ai didi

ruby-on-rails - 无法分配请求的地址 - bind(2) 用于 "xyz.herokuapp.com"端口 28159 (Errno::EADDRNOTAVAIL)

转载 作者:行者123 更新时间:2023-12-05 03:01:46 25 4
gpt4 key购买 nike

我正在 Heroku 上上传 ROR 应用程序,但出现此错误。

/app/vendor/bundle/ruby/2.4.0/gems/puma-3.12.1/lib/puma/binder.rb:273:in 'initialize':
Cannot assign requested address - bind(2) for "xyz.herokuapp.com" port 28159 (Errno::EADDRNOTAVAIL)

我附上了 procfile 和 puma.rb 代码。

程序文件:

web: bundle exec puma -c config/puma.rb
release: bundle exec rake db:migrate

puma.rb:

threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
threads threads_count, threads_count
port ENV.fetch("PORT") { 3000 }
environment ENV.fetch("RAILS_ENV") { "development" }

我也试过 puma 3.7 但没有成功也更改了 procfile 的配置

在本地它工作正常但在 heroku 上给出错误。

最佳答案

我在 Heroku 上部署 Rails 6.0 时遇到了同样的问题。我正在使用一个名为 HOST 的环境变量来提供给 ActionDispatch::HostAuthorization中间件 heroku 服务器的 url,因为 rails 要求它以防止 DNS 重新绑定(bind)和其他主机 header 攻击。当 heroku 服务器试图启动服务器时,环境变量 HOST 的名称导致了副作用,这个问题已被讨论 here我使用了与 here 相同的解决方案.

  1. heroku config:unset HOST
  2. heroku config:set DOMAIN=youdomain.com
  3. 在 production.rb 中而不是 config.hosts << ENV['HOST']使用 config.hosts << ENV['DOMAIN']
  4. 在git上添加文件,在heroku上提交和部署

希望这会有所帮助。

关于ruby-on-rails - 无法分配请求的地址 - bind(2) 用于 "xyz.herokuapp.com"端口 28159 (Errno::EADDRNOTAVAIL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55531711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com