当前位置:论坛首页 > Linux面板 > 求助

【已完成】允许Cors跨域访问,配置文件报错。

发表在 Linux面板2024-4-17 17:25  关闭 [复制链接] 3 175

允许Cors跨域访问,配置文件报错。如下图:
Snipaste_2024-04-17_17-20-36.png

我是这样配置的,
Snipaste_2024-04-17_17-22-39.png


代码如下:
  1.     #SSL-END
  2. #配置允许baidu.com的Cors请求1
  3. add_header 'Access-Control-Allow-Origin' "$http_origin";
  4. add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
  5. add_header 'Access-Control-Allow-Credentials' 'true';
  6. add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
  7. add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
  8. if ($request_method = 'OPTIONS') {
  9.     return 204;
  10. }

  11. #配置允许baidu.com的Cors请求2
  12. if ($http_origin ~* (https?://baidu.com(:[0-9]+)?$)) {
  13.     add_header 'Access-Control-Allow-Origin' "$http_origin";
  14.     add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
  15.     add_header 'Access-Control-Allow-Credentials' 'true';
  16.     add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
  17.     }
复制代码



使用道具 举报 只看该作者 回复
发表于 2024-4-17 17:46:07 | 显示全部楼层
您好,报错显示您的语法不正确,请您检查一下
这个是配置 Nginx 以允许来自任何源的跨域请求:,参考一下
server {  
    listen 80;  
    server_name your.domain.com;  
  
    location / {  
        # 允许来自任何域的请求  
        if ($request_method = 'OPTIONS') {  
            add_header 'Access-Control-Allow-Origin' '*';  
            add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';  
            add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';  
            add_header 'Access-Control-Max-Age' 1728000;  
            add_header 'Content-Type' 'text/plain; charset=utf-8';  
            add_header 'Content-Length' 0;  
            return 204;  
        }  
         
        add_header 'Access-Control-Allow-Origin' '*';  
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';  
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';  
         
        # 其他 Nginx 配置指令...  
         
        # 代理到后端应用,例如使用 proxy_pass  
        # proxy_pass http://your_backend_server;  
    }  
  
    # 其他 server 配置...  
}
使用道具 举报 回复 支持 反对
发表于 2024-4-17 19:14:56 | 显示全部楼层
运维技术南一 发表于 2024-4-17 17:46
您好,报错显示您的语法不正确,请您检查一下
这个是配置 Nginx 以允许来自任何源的跨域请求:,参考一下
s ...

首先,非常感谢你的指导,本人小白。
另外,请教我要设置仅允许我信任的网站访问,比如baidu.com,
又该如何设置呢,
还请指教一下,谢谢了。
我虚心学习。。。
使用道具 举报 回复 支持 反对
发表于 2024-5-7 17:54:15 | 显示全部楼层
可以参考下面配置:
  1.     location / {
  2.         deny all;
  3.         allow 123.123.123.123; # 允许特定IP访问
  4.         allow baidu.com; # 允许特定域名访问
  5.         deny all;拒绝其他方式访问
  6.     }
复制代码
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

企业版年付运维跟进群

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急问题处理

论坛响应时间:10分钟

问题处理方式:1对1处理(优先)

工作时间:白班:9:00 - 18:00

工作时间:晚班:18:00 - 24:00

立即付费处理

工作时间:09:00至24:00

快速回复 返回顶部 返回列表