axios 【授权】:令牌未通过CORS VUEJS APACHE

x0fgdtte  于 2022-11-05  发布在  iOS
关注(0)|答案(2)|浏览(147)
My FrontEnd Vue     

var config = {
  method: 'get',
  url: baseUrl + '/v5/test',
  headers: {
    "Accept": "application/json",
    "Content-Type": "application/json",
    "Authorization": Token,
  },
};

我的htaccess文件
重写条件%{HTTP:授权} ^(.)重写规则。 - [e=HTTP授权:%1]设置环境如果授权。+ HTTP授权=$0
标头始终设置访问控制允许来源“
标头始终设置访问控制允许方法“

标头始终设置为访问控制允许标头:“授权”
标头始终设置访问控制请求标头:“授权”
我收到了该错误从源' www.example.com '访问'mydomain.com/v5/test'上的XMLHttpRequestapp.mydomain.com已被CORS策略阻止:对预检请求的响应未通过访问控制检查:它不具有HTTP ok状态。
我的应用程序是子域,API在域中

xqnpmsa8

xqnpmsa81#

这是我用于CORS的标头

Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization
Access-Control-Allow-Methods: PUT, POST, PATCH, DELETE, GET

我不知道您使用 .htaccess 的确切目的是什么

dfddblmv

dfddblmv2#

嗨,伙计们,我做了一些修改
首先,我在我的vue.config.js中添加了这个,如果您想要构建和部署,您只需要将第一个注解取消到服务器,将第二个注解取消到本地环境

devServer: {
        //proxy: "https://subdomain.example.com/" 
        //proxy: "http://localhost/" // run in local
    },

第二,在你的服务器我添加htaccess这一个:

<IfModule mod_headers.c>
    SetEnvIf Origin "http(s)?://(subdomain)\.example\.com$" AccessControlAllowOrigin=$0
    Header set Access-Control-Allow-Origin "*"

    Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
    Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
    Header unset Connection
    Header set Connection keep-alive

    Header unset Keep-Alive
    Header set Keep-Alive timeout=100,max=500
</IfModule>

就是这样,CORS已修复

相关问题