nginx跨域解决方法

最近一直遇到以下几个问题:

  1. JavaScript JS 跨域问题

  2. HTTP 错误 405 - 用于访问该页的 HTTP 动作未被许可 HTTP 错误 405.0 - Method Not Allowed

  3. Nginx 处理跨域问题、OPTIONS 方法的问题

Method = "OPTIONS" | "GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "TRACE" | "CONNECT" | extension-method
extension-method = token

 

nginx跨域解决方法

在Nginx location 里加上如下代码可以解决跨域问题,包括以上几个问题都可以得到解决。

具体如下:

 

在Nginx配置文件nginx.conf加入如下代码:

location / {

        # 跨域设置
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
        add_header 'Access-Control-Allow-Credentials' 'true'; 
       
        if ( $request_method = 'OPTIONS' ) { return 200; }

 }

 

注意1:

必须放在 location ... { ... }里面才能用if条件判断。

 

注意2:

如果你遇到错误提示“nginx: [emerg] unknown directive”未知指令。

原因是: if 后面 必须有空格跟括号隔开才行。

解决方法如下:

 if ( $request_method = 'OPTIONS' ) { return 200; }
    A+
发布日期:2021年10月27日 15:46:10  所属分类:Nginx
最后更新时间:2021-10-27 15:46:10
头像
  • ¥ 1999.0元
  • 市场价:2999.0元
  • ¥ 69.0元
  • 市场价:99.0元
  • ¥ 1.0元
  • 市场价:9.9元
  • ¥ 298.0元
  • 市场价:899.0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: