如何测试 Rails rack-cors gem 是否正常工作
How to test if Rails rack-cors gem is working
我正在尝试构建一个 React - Rails API 项目。我添加了 gem 'rack-cors'
并创建了 config/initializers/cors.rb
文件:
Rails.application.config.middleware.insert_before 0, Rack::Cors do
allow do
origins "http://localhost:3001"
# The React part will be on port 3001 so thats way we add it
# Change it to the production url when going on production
resource "*",
headers: :any,
methods: [:get, :post, :put, :patch, :delete, :options, :head]
end
end
我只想允许 3001
端口,因为那是我的 React 前端服务的端口。
现在我想测试这是否真的有效并阻止其他请求。
到目前为止,我一直在使用 Postman
来测试 API(必须下载它才能与 http
一起使用)。我认为因为我只将过滤器添加到特定端口,它会阻止来自 Postman
的请求,但它仍然显示 API 调用中请求的数据。
此外,如果我尝试在浏览器上这样访问它:
http://localhost:3000/api/v1/users
它仍在提供数据,应该阻止除 3001
之外的所有端口。
为什么会这样?有没有其他方法可以仔细检查它是否有效?谢谢!
注意:我关闭了服务器并重新启动它,它仍然表现相同
从浏览器发起 API 调用(不是来自 URL 也不是来自邮递员)。可能会通过ajax来测试。
Postman does not implement the CORS restrictions
为了在本地测试 CORS,我找到了这个 repo:https://github.com/njgibbon/nicks-cors-test
只需克隆它,然后单击 html
文件即可在浏览器中打开它。默认情况下,它调用 github API
(https://api.github.com) 并从那里获取信息。您可以打开控制台并检查它。
如果将其更改为 https://google.com
,它将引发 CORS 限制。
同样,您可以将其更改为 http://localhost:3000/api/v1/users
(在我的例子中),它会在我现在的配置中抛出 CORS 错误。
到double-check,直接去cors.rb
,放origins "*"
。重新启动应用程序服务器并再次尝试 运行 html 文件。现在我们不会被阻止了。
我正在尝试构建一个 React - Rails API 项目。我添加了 gem 'rack-cors'
并创建了 config/initializers/cors.rb
文件:
Rails.application.config.middleware.insert_before 0, Rack::Cors do
allow do
origins "http://localhost:3001"
# The React part will be on port 3001 so thats way we add it
# Change it to the production url when going on production
resource "*",
headers: :any,
methods: [:get, :post, :put, :patch, :delete, :options, :head]
end
end
我只想允许 3001
端口,因为那是我的 React 前端服务的端口。
现在我想测试这是否真的有效并阻止其他请求。
到目前为止,我一直在使用 Postman
来测试 API(必须下载它才能与 http
一起使用)。我认为因为我只将过滤器添加到特定端口,它会阻止来自 Postman
的请求,但它仍然显示 API 调用中请求的数据。
此外,如果我尝试在浏览器上这样访问它:
http://localhost:3000/api/v1/users
它仍在提供数据,应该阻止除 3001
之外的所有端口。
为什么会这样?有没有其他方法可以仔细检查它是否有效?谢谢!
注意:我关闭了服务器并重新启动它,它仍然表现相同
从浏览器发起 API 调用(不是来自 URL 也不是来自邮递员)。可能会通过ajax来测试。
Postman does not implement the CORS restrictions
为了在本地测试 CORS,我找到了这个 repo:https://github.com/njgibbon/nicks-cors-test
只需克隆它,然后单击 html
文件即可在浏览器中打开它。默认情况下,它调用 github API
(https://api.github.com) 并从那里获取信息。您可以打开控制台并检查它。
如果将其更改为 https://google.com
,它将引发 CORS 限制。
同样,您可以将其更改为 http://localhost:3000/api/v1/users
(在我的例子中),它会在我现在的配置中抛出 CORS 错误。
到double-check,直接去cors.rb
,放origins "*"
。重新启动应用程序服务器并再次尝试 运行 html 文件。现在我们不会被阻止了。