讨论 使用交流 如何在后端允许跨域请求?

如何在后端允许跨域请求?

宁大神 发表于    阅读:177    回复:2

如何在后端允许跨域请求?

评论

要在Nginx服务器和Apache服务器上设置允许跨域请求,可以使用不同的配置方法。

在Nginx中设置运行跨域请求:

1. 打开 Nginx 配置文件(通常是 `/etc/nginx/nginx.conf` 或 `/etc/nginx/conf.d/default.conf`)。

2. 在 `http` 块内添加以下配置来允许跨域请求:

   server {
       ...
       location / {
           add_header Access-Control-Allow-Origin *;
           add_header Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS";
           add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept, Authorization";
           if ($request_method = OPTIONS) {
               return 200;
           }
           ...
       }
       ...
   }


这段配置将在响应中添加 `Access-Control-Allow-Origin`、`Access-Control-Allow-Methods` 和 `Access-Control-Allow-Headers` 头部,允许所有来源的跨域请求,并允许常用的 HTTP 方法和请求头。

3. 保存配置文件并重新启动 Nginx 服务。

在 Apache 中设置运行跨域请求:

1. 打开 Apache 配置文件(通常是 `/etc/httpd/conf/httpd.conf` 或 `/etc/apache2/apache2.conf`)。

2. 找到 `<Directory>` 块,添加以下配置来允许跨域请求:

   <Directory "/var/www/html">
       ...
       Header always set Access-Control-Allow-Origin "*"
       Header always set Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS"
       Header always set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept, Authorization"
       ...
   </Directory>


这段配置将在响应中添加 `Access-Control-Allow-Origin`、`Access-Control-Allow-Methods` 和 `Access-Control-Allow-Headers` 头部,允许所有来源的跨域请求,并允许常用的 HTTP 方法和请求头。

3. 保存配置文件并重新启动 Apache 服务。


无论是在 Nginx 还是 Apache 中,上述配置都是基本的设置。你可以根据实际需求进行定制,例如限制允许的来源、方法和请求头。同时,要注意允许跨域请求可能会引发安全风险,应仔细考虑跨域请求的安全性,并根据实际需求和业务场景来设置跨域请求的策略。


 

@ModStart:  

还是不生效怎么办?45177_eqrm_4125.png

 
1
我来评论
QQ
微信