【问题标题】:Spatie/Laravel cors issue in production [duplicate]Spatie / Laravel cors在生产中的问题[重复]
【发布时间】:2019-05-22 03:25:49
【问题描述】:

这个 cors 问题将是我的死亡。无论如何,我试图解决为什么 spatie/cors 包在本地工作但在生产中不起作用。如果有人有这方面的经验,我将不胜感激!我正在尝试访问我的后端,但收到警报提示

my url has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request

【问题讨论】:

  • 你有类似 HTTP --> HTTPS 重定向的东西吗?
  • 说实话我不确定。证书是使用LetsEncrypt 生成的,它没有给我任何证书的详细信息。
  • 问题不在于证书,也不在于 Let's Encrypt。可能是您的网络服务器配置或应用程序试图将请求从 HTTP 重定向到 HTTPS。看看浏览器开发者工具中的网络面板——我猜你会看到那里的OPTIONS请求得到301/302响应。
  • 我的控制台的网络选项卡中没有任何内容。当我刷新它只显示加载的资源。
  • 如果控制台显示请求失败,则对应的网络选项卡中应该有 something。或许你可以分享网址?

标签: laravel cors


【解决方案1】:

您的 URL https://aewcpa.traxit.pro/api/account 正在为 CORS OPTIONS 请求返回 301 重定向到 https://traxit.pro/api/account,这导致了此问题。

您可以在浏览器的网络控制台或使用 cURL 中看到这一点:

curl -I 'https://aewcpa.traxit.pro/api/account' -X OPTIONS -H 'Access-Control-Request-Method: GET' -H 'Referer: https://aewcpa.traxit.io/login' -H 'Origin: https://aewcpa.traxit.io'

HTTP/2 301 
server: nginx/1.15.6
date: Fri, 21 Dec 2018 18:14:36 GMT
content-type: text/html
content-length: 169
location: https://traxit.pro/api/account

【讨论】:

  • 那么是我的 nginx 服务器上的配置问题还是我的项目代码?对不起,我对网络问题没有太多经验
  • https://aewcpa.traxit.pro/api/account 返回的重定向 HTML 看起来确实是 nginx 对我进行重定向。 Laravel 的重定向看起来不同。
  • 好的,我正在使用 forge 来托管实际使用数字海洋的网站。数字海洋中有 nginx 服务器处理此类请求的选项吗?
  • 我对 Forge 不是很熟悉,但我的理解是它会为你配置像 nginx 这样的东西。我怀疑它配置为根据 APP_URL 的值规范化您的 URL 的地方发生了什么事。
  • 是的,我不知道。我只是不明白为什么它会在我当地的环境中工作而不是在生产中。我已尝试将 url 明确放置在我的访问源中,没有任何变化。
猜你喜欢
  • 2020-09-15
  • 2021-08-22
  • 2021-08-06
  • 2016-09-20
  • 1970-01-01
  • 2021-07-18
  • 2023-03-17
  • 2019-08-22
  • 2019-06-30
相关资源
最近更新 更多