如何让服务器支持跨域呢?

简介:

如何让服务器本身支持跨域请求呢?

如果服务器是apache

(1)修改http服务的配置文件:C:\wamp\bin\apache\Apache2.4.4\conf\httpd.conf

LoadModule headers_module modules/mod_headers.so 前面的注释删除.

(2)添加Header set Access-Control-Allow-Origin *

<Directory />

    AllowOverride none

    Require all granted

         Header set Access-Control-Allow-Origin *

</Directory>

(3)重启http服务

 

如果是tomcat,比如spring MVC项目

创建一个过滤器,代码如下:

Java代码   收藏代码
  1. package com.web.filter;  
  2.   
  3. import java.io.IOException;  
  4.   
  5. import javax.servlet.Filter;  
  6. import javax.servlet.FilterChain;  
  7. import javax.servlet.FilterConfig;  
  8. import javax.servlet.ServletException;  
  9. import javax.servlet.ServletRequest;  
  10. import javax.servlet.ServletResponse;  
  11. import javax.servlet.http.HttpServletResponse;  
  12.   
  13. import com.common.dict.Constant2;  
  14.   
  15. import oa.service.DictionaryParam;  
  16.   
  17. public class SimpleCORSFilter implements Filter{  
  18.   
  19.     @Override  
  20.     public void destroy() {  
  21.           
  22.     }  
  23.   
  24.     @Override  
  25.     public void doFilter(ServletRequest req, ServletResponse res,  
  26.             FilterChain chain) throws IOException, ServletException {  
  27.             HttpServletResponse response = (HttpServletResponse) res;  
  28.             response.setHeader("Access-Control-Allow-Origin", DictionaryParam.get(Constant2.DICTIONARY_GROUP_GLOBAL_SETTING, "AccessControlAllowOrigin"));  
  29.             response.setHeader("Access-Control-Allow-Methods""POST, GET, OPTIONS, DELETE");  
  30.             response.setHeader("Access-Control-Max-Age""3600");  
  31.             response.setHeader("Access-Control-Allow-Headers""x-requested-with");  
  32.             chain.doFilter(req, res);  
  33.           
  34.     }  
  35.   
  36.     @Override  
  37.     public void init(FilterConfig arg0) throws ServletException {  
  38.           
  39.     }  
  40.   
  41. }  

关键代码:response.setHeader("Access-Control-Allow-Origin", "*");

 修改web.xml,增加:

Xml代码   收藏代码
  1. <filter>  
  2.       <filter-name>cors</filter-name>  
  3.       <filter-class>com.web.filter.SimpleCORSFilter</filter-class>  
  4.     </filter>  
  5.     <filter-mapping>  
  6.       <filter-name>cors</filter-name>  
  7.       <url-pattern>/*</url-pattern>  
  8.     </filter-mapping>  

 

这样服务器就支持ajax的跨域访问了.

相关文章
|
小程序 Linux 程序员
如何配置frp到linux服务器和windows本地,服务端支持自启动
如何配置frp到linux服务器和windows本地,服务端支持自启动
785 0
如何配置frp到linux服务器和windows本地,服务端支持自启动
|
22天前
|
前端开发 应用服务中间件 API
"揭秘!面试官必问:你是如何巧妙绕过跨域难题的?前端代理VS服务器端CORS,哪个才是你的秘密武器?"
【8月更文挑战第21天】在软件开发中,尤其前后端分离架构下,跨域资源共享(CORS)是常见的挑战。主要解决方案有两种:一是服务器端配置CORS策略,通过设置响应头控制跨域访问权限,无需改动前端代码,增强安全性;二是前端代理转发,如使用Nginx或Webpack DevServer在开发环境中转发请求绕过同源策略,简化开发流程但不适用于生产环境。生产环境下应采用服务器端CORS策略以确保安全稳定。
24 0
|
3月前
|
JSON JavaScript 数据格式
详细解读CococCreator跨域访问资源服务器
详细解读CococCreator跨域访问资源服务器
21 0
|
4月前
|
JavaScript API
本地开发环境请求服务器接口跨域的问题(vue的问题)
本地开发环境请求服务器接口跨域的问题(vue的问题)
149 1
|
12月前
|
Web App开发 前端开发 JavaScript
SAP UI5 FileUploader 控件实现本地文件上传,接收服务器端的响应时遇到跨域访问错误的试读版
SAP UI5 FileUploader 控件实现本地文件上传,接收服务器端的响应时遇到跨域访问错误的试读版
SAP UI5 FileUploader 控件实现本地文件上传,接收服务器端的响应时遇到跨域访问错误的试读版
|
11月前
|
开发者
SAP UI5 初学者教程之二十五 - 使用代理服务器解决 SAP UI5 应用访问远端 OData 服务的跨域问题试读版
SAP UI5 初学者教程之二十五 - 使用代理服务器解决 SAP UI5 应用访问远端 OData 服务的跨域问题试读版
|
11月前
|
Web App开发 安全 中间件
使用 SAP Fiori Tools 自带的代理服务器解决本地运行的 SAP UI5 应用访问远端服务遇到的跨域问题试读版
使用 SAP Fiori Tools 自带的代理服务器解决本地运行的 SAP UI5 应用访问远端服务遇到的跨域问题试读版
|
12月前
|
Web App开发 前端开发 JavaScript
使用自开发的代理服务器解决 SAP UI5 FileUploader 上传文件时遇到的跨域访问错误试读版
使用自开发的代理服务器解决 SAP UI5 FileUploader 上传文件时遇到的跨域访问错误试读版
|
12月前
|
Web App开发 JavaScript 前端开发
一键部署开箱即用的代理服务器,解决 SAP UI5 应用开发过程中访问远端 OData 服务的跨域问题试读版
一键部署开箱即用的代理服务器,解决 SAP UI5 应用开发过程中访问远端 OData 服务的跨域问题试读版
|
弹性计算 应用服务中间件 Apache
2核4g云服务器支持多少人同时在线?2核4G服务器并发数计算
阿里云服务器2核4g并发数是多少?支持多少人同时在线?
911 0
2核4g云服务器支持多少人同时在线?2核4G服务器并发数计算

热门文章

最新文章