GeoServe 跨域头和X-frame跨域设置

Geoserver跨域头

服务器默认的跨域是没开启的,http跨域设置只需要放开两个配置就行好。
修改共两处
约177行处,将这个注释放开
   <!-- Uncomment following filter to enable CORS--><filter><filter-name>cross-origin</filter-name><filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class><init-param><param-name>chainPreflight</param-name><param-value>false</param-value></init-param><init-param><param-name>allowedOrigins</param-name><param-value>*</param-value></init-param><init-param><param-name>allowedMethods</param-name><param-value>GET,POST,PUT,DELETE,HEAD,OPTIONS</param-value></init-param><init-param><param-name>allowedHeaders</param-name><param-value>*</param-value></init-param></filter>
大约200行处,把注释放开
   <!-- Uncomment following filter to enable CORS--><filter-mapping><filter-name>cross-origin</filter-name><url-pattern>/*</url-pattern></filter-mapping>

X-Frame-Options跨域设置

X-Frame跨域用来设置GeoServer站点页面是否允许被其他网页使用iframe方式引用
X-Frame-Options三个参数:
1、DENY
表示该页面不允许在frame中展示,即便是在相同域名的页面中嵌套也不允许。
2、SAMEORIGIN
表示该页面可以在相同域名页面的frame中展示。
3、ALLOW-FROM uri
表示该页面可以在指定来源的frame中展示

官网说明

跨域头的过滤器是在下面这个类里面,具体链接如下

设置X-Frame跨域

In order to prevent clickjacking attacks GeoServer defaults to setting the X-Frame-Options HTTP header to SAMEORIGIN.
This prevents GeoServer from being embedded into an iFrame,
which prevents certain kinds of security vulnerabilities. See the OWASP Clickjacking entry for details.
If you wish to change this behavior you can do so through the following properties:
geoserver.xframe.shouldSetPolicy: controls whether the X-Frame-Options filter should be set at all. Default is true.
geoserver.xframe.policy: controls what the set the X-Frame-Options header to.Default is SAMEORIGIN valid options are DENY, SAMEORIGIN and ALLOW-FROM [uri]
These properties can be set either via Java system property, command line argument (-D),
environment variable or web.xml init parameter大概意思就是说,需要设置连个属性geoserver.xframe.shouldSetPolicy、geoserver.xframe.policy
而geoserver.xframe.policy默认值是SAMEORIGIN

过滤器源码地址

看源码能知道,geoserver.xframe.shouldSetPolicy默认是true,可以不用设置
所以只要设置geoserver.xframe.policy就可以了
配置我还是放在web.xml里面了
    <context-param><param-name>geoserver.xframe.shouldSetPolicy</param-name><param-value>true</param-value></context-param><context-param><param-name>geoserver.xframe.policy</param-name><param-value>ALLOW-FROM</param-value></context-param>

随便扔进去了。
然后重启geoserver即可。
再次请求结果是可以出来了,但是会出现下面的错误
Invalid 'X-Frame-Options' header encountered when loading '。。。。。
326&format=application/openlayers': 'ALLOW-FROM' is not a recognized directive. The header will be ignored.
这是因为ALLOW-FROM[uri]后面参数没设置,不影响使用

GeoServe 跨域头和X-frame跨域设置相关推荐

  1. 前端跨域的理解和解决跨域的方案详解(全)

    作为前端开发,我们遇到最多的应该就是跨域问题,对于萌新来说,跨域就是一道墙,不知所措,其实只要理解了跨域的含义和原理,解决它是不难的,今天给大家介绍下什么是跨域和跨域的解决方案! 什么是跨域? 跨域是 ...

  2. 浅谈postMessage跨域通信与localStorage实现跨域共享

    我们可能有需要在多个域名之间共用同一个localStorage的需要 一.我们先测试不同域名之间的通信 1.有 child.html 如下,代码中 window.parent.postMessage( ...

  3. 什么是跨域,为什么浏览器会禁止跨域,以及实现跨域的几种方式

    首先我们来想一想 为什么会有跨域这个名词的出现呢? 跨域又是什么呢?为何要跨域? 浏览器的同源策略又是什么?怎么解决? jsonp又是什么? 跨域的原理又是什么呢? 名词解释: 1.什么是跨域 跨域的 ...

  4. 跨域失败 过滤器_Spring Boot 跨域过滤器(过滤器跨域问题)

    重写WebMvcConfigurer#addCorsMappings()可以解决一部分跨域的问题,但是对于有些过滤器涉及到跨域,且拦截器位面较高的话,还是会出现一些跨域问题. 配置 CorsFilte ...

  5. php csrf jsonp,读取型CSRF(JSONP劫持、CORS跨域资源读取、Flash跨域劫持)

    我们只熟悉写入型csrf,像修改用户信息--今天介绍一下读取型CSRF,使用DoraBox这个靶场来演示一波! 地址:https://github.com/Acmesec/DoraBox JSONP劫 ...

  6. ajax 跨域请求_什么是跨域问题?如何解决?

    1. 概述 几个疑问: 什么是跨域? 如何判断是否产生「跨域」? 跨域,带来的问题? 跨域问题,解决思路? 2. 跨域:是什么 跨域的问题根源:浏览器的「同源策略」. 2.1. 同源策略 同源策略(S ...

  7. Cors跨域(一):深入理解跨域请求概念及其根因

    Talk is cheap. Show me the money. 前言 你好,我是YourBatman. 做Web开发的小伙伴对"跨域"定并不陌生,像狗皮膏药一样粘着几乎每位同学 ...

  8. 跨域(cross-domain)访问 cookie (读取和设置)

    跨域(cross-domain)访问 cookie (读取和设置) Passport 一方面意味着用一个帐号可以在不同服务里登录,另一方面就是在一个服务里面登录后可以无障碍的漫游到其他服务里面去.坦白 ...

  9. 26、vue前端出现跨域问题,如何解决跨域?

    问题: 因为浏览器的同源策略的限制问题(协议.主机.端口一致),浏览器访问非同源的网址时,会出现无法获取数据(已发请求,服务器已收到请求),出现跨域问题 3种解决方法: 1.cors跨域(配置服务器) ...

最新文章

  1. [Webpack 2] Intro to the Production Webpack Course
  2. Thymeleaf读取model里面的对象||Thymeleaf读取model里面的集合||Themeleaf在js中取值||访问带参数的消息||ThymeleafObjects的使用[取三大作域的值
  3. Java集合类ArrayList循环中删除特定元素
  4. linux常用命令笔记(持续更新)
  5. 基于CNN的阅读理解式问答模型:DGCNN
  6. LeetCode 502. IPO(优先队列)
  7. css居中的几种方法_CSS几种常用的水平垂直居中对齐方法
  8. 多线程003 - 再谈CyclicBarrier
  9. pytest十二:cmd命令行参数
  10. [Swift实际操作]七、常见概念-(12)使用DispatchGroup(调度组)管理线程数组
  11. Matlab函数——randn
  12. Opencv 形态学操作 灰度、滤波、膨胀腐蚀、开闭运算、梯度-python代码
  13. c语言写长方形体积公式是什么,长方体的体积公式 长方体的体积公式是什么
  14. 【一步一步教会您升级到win7旗舰版】
  15. 谷歌Chrome浏览器就能远程控制安卓手机,电脑远程控制手机的快捷方法get!
  16. gnuplot命令大全
  17. windows 防火墙解除或禁止ping方法
  18. Python汉字转换成拼音
  19. BAPI_INCOMINGINVOICE_CREATE 发票校验
  20. freopen函数在竞赛中的使用

热门文章

  1. 【cad2010闪退怎么解决】
  2. C/C++/Linux「学习必备」珍藏多年的学习网站分享 | 工欲善其事必先利其器
  3. 3.python 发送邮件之smtplib模块
  4. sersync+rsync部署与使用
  5. SIM卡简介及电路设计
  6. 使用js动态改变input的只读属性
  7. 香橙派4 2. 驱动usb2.0芯片cy7c68013
  8. php循环经典用法,PHP switch嵌套、往复循环、单选等的“高级”用法详解
  9. ui界面转成py文件格式
  10. 华为 智能计算服务器仿真环境