web-dev-qa-db-ja.com

アップグレードされたRails= 6、ブロックされたホストエラーの取得

Resize_to_fillにActiveStorageの新しい関数が必要だったため、Ruby 2.5.1およびRails 6。

Ruby '2.5.1'

gem "Rails", github: "Rails/rails"

停止してからサーバー(Cloud 9)を起動すると、Rails=エラー:

ブロックされたホスト:xxxxxxx-xxxxxxx.c9users.io xxxxxxx-xxxxxxx.c9users.ioへの要求を許可するには、次の構成を追加します。

Rails.application.config.hosts << "xxxxxxx-xxxxxxx.c9users.io"

新しいウィンドウを再起動しようとしましたが、これを取り除くものは何もありません。このエラーを見たことはありません。 Railsの新しいバージョンは何かしているのでしょうか?

6
Tony S.

元の質問で述べたように、Active Storageを使用して画像のサイズを正しく変更することは、Rails 5.xではまったく動作しませんでした。 imagemagick.orgの膨大な調査により、必要な方法で正確に動作するようになりました。そして、ファイルから画像まですべてでRails 5.2でActive Storageを使用しています。この場合、画像に関して、それらを表示するためにこのコードを追加しました。

<%= image_tag attachment.variant(combine_options: {auto_orient: true, thumbnail: '200x200^', gravity: 'center', extent: '200x200' }) %>

興味があれば、

auto-orientは、偶然出くわすような狂った横向きの写真を処理します。

gravityおよびextentはトリミングを処理します。

初めてイメージがロードされると、そこから利用可能になります。最初のロードでは、サイズに応じて1〜2秒かかることがあります。

0
Tony S.

開発環境でこの機能を無効にする場合は、次を設定できます。

config.hosts = nil in config/environments/development.rb

7
kobaltz

ブロックされたホストは、Rails 6.の新しい機能です。このパターンをconfig/environments/development.rb動的URLの場合、その心配はありません

config.hosts << /[a-z0-9]+\.c9users\.io/

また、ngrokユーザーの場合は、上記のc9users by ngrok

ソース: https://github.com/MikeRogers0/puma-ngrok-tunnel

4
Dat Le Tien

この記事は私のために機能します: https://www.fngtps.com/2019/Rails6-blocked-Host/

The first option is to whitelist the development of hostname in config/environments/development.rb.

Rails.application.configure do
  # Whitelist one hostname
  config.hosts << "hostname"
  # Whitelist a test domain
  config.hosts << /application\.local\Z/
end
The second option is to clear the entire whitelist, which lets through requests for all hostnames.

Rails.application.configure do
  config.hosts.clear
end

クレジット:Manfred Stienstra

2
Kiry Meas

Rails 6 Action PackでActionDispatch :: HostAuthorizationが導入され、デフォルトでは[IPAddr.new(“ 0.0.0.0/0”)、IPAddr.new(“ ::/0”)、 「localhost」]

RegExp、Proc、IPAddr、およびStringの配列、またはこのようにconfig/application.rbファイルに単一のStringを追加できます。

class Application < Rails::Application
  config.hosts << "xxxxxxx-xxxxxxx.c9users.io"
  ...
end

https://drivy.engineering/Rails-6-unnoticed-features 」から:

Rails 6では、ActionDispatch :: HostAuthorizationという新しいミドルウェアが追加され、アプリケーションのホストをホワイトリストに登録して、 ホストヘッダー攻撃 を防ぐことができます。 String、IPAddr、Proc、RegExpを使用して簡単に構成できます(ワイルドカードドメインを扱う場合に便利です)。

0
Donapieppo