3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[Rails]rack-corsの導入でCORS設定

Posted at

rack-colsとは

RackアプリケーションにCORSの制御機能を追加するRackミドルウェアのことです。
CORSを使うことで、Webアプリケーションは特になんの回避策も無しでクロスドメインのAJAXの呼び出しを行うことができます。

使い方

インストール方法

Gemfileに以下を記載して、bundle installするだけです。

gem 'rack-cors'

Railsの設定

config/initializers/cors.rbに設定を行う。

  • origins
    • スキーム(http)、ドメイン(example.com)、ポート(8080)を組み合わせたもの。簡単に言うとURLのこと。
    • *とすることで、すべてのoriginsを許可する。
  • resource
    • 許可するリソースファイルのこと。
    • *とすることで、すべてのリソースファイルを許可する。
  • headers
    • 許可するHTTPヘッダーのこと。
    • anyとすることですべて許可する。
  • methods
    • 許可するHTTPメソッドのこと。
config/initializers/cors.rb
Rails.application.config.middleware.insert_before 0, Rack::Cors do
  allow do
    # どのオリジンからのリクエストも許可する
    origins '*'
    resource '*',
              headers: :any,
              methods: [:get, :post, :patch, :put]
  end
end

参考

[cyu/rack-cors]
(https://github.com/cyu/rack-cors)

[gem rack-cors の README を翻訳しました]
(https://qiita.com/ikamirin/items/2bd494142610960071a9)

[【Rails6】Gem rack-corsを導入してCORS設定を行う(オリジン・CORSとは何か)]
(https://blog.cloud-acct.com/posts/u-rails-rackcors/)

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?