geoserver跨域问题多种解决方案

news2024/10/6 10:33:47

geoserver发布服务完成之后,很重要的一个应用场景是前端服务调用,来展示服务数据,那么很可能遇到一个跨域问题,今天我们分享一下跨越问题的多种解决方案,来适用不同需求的业务场景。

一、nginx服务均衡策略

如果你的项目正在使用nginx,那么很简单操作,在conf/nginx.conf文件里面添加一个路由配置

1、添加路由

       location /geoserver{
            proxy_pass http://127.0.0.1:8080/geoserver;
			proxy_set_header Host $host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			
			fastcgi_buffer_size 4k;
			fastcgi_buffers 8 4k;
			
             #proxy_pass http://mape.shanghai-map.net/arcgis/;
            #index  index.html index.htm;
			 #   指定允许跨域的方法,*代表所有
			add_header Access-Control-Allow-Methods *;

			#   预检命令的缓存,如果不缓存每次会发送两次请求
			add_header Access-Control-Max-Age 3600;
			#   带cookie请求需要加上这个字段,并设置为true
			add_header Access-Control-Allow-Credentials true;

			#   表示允许这个域跨域调用(客户端发送请求的域名和端口) 
			#   $http_origin动态获取请求客户端请求的域   不用*的原因是带cookie的请求不支持*号
			add_header Access-Control-Allow-Origin $http_origin;

			#   表示请求头的字段 动态获取
			add_header Access-Control-Allow-Headers 
			$http_access_control_request_headers;
        }

配置里有关于跨越的配置,可以认真看一下。

2、重启nginx服务,前端就可以调用了

二、配置tomcat

如果是采用war包形式部署的geoserver服务,那么tomcat容器是一个不错的选择。

1、配置web.xml

进入tomcat的conf/web.xml

<filter>
  <filter-name>CorsFilter</filter-name>
  <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
  <init-param>
    <param-name>cors.allowed.origins</param-name>
    <param-value>*</param-value>
  </init-param>
</filter>
<filter-mapping>
  <filter-name>CorsFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

三、修改配置geoserver服务

1、去掉相应注释

geoserver下的web.xml文件相应的CORS注释去掉

apache-tomcat-7.0.72\webapps\geoserver\WEB-INF\web.xml 路径

把此注释去掉。

2、引入jar包

在geoserver安装目录,打开lib文件夹:

apache-tomcat-7.0.72\webapps\geoserver\WEB-INF\lib

放入以下三个jar:

然后重启tomcat服务就OK了。

四、前端配置

前端配置跨越我不太专业,大家可以参考以下这些博客:
前端处理跨越

跨越问题解决参考

到此,geoserver跨域问题多种解决方案分享完成,下篇我们分享图层数据的多种样式配置方法,敬请期待!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/548517.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring:Spring 框架概述、IoC 设计思想、依赖注入、各种配置

文章目录 Spring&#xff1a;Day 01一、简介1. 概述2. Spring 组成 二、IoC 设计思想三、编写一个 Spring四、IoC 创建对象方式五、Spring 配置1. 别名2. Bean 的配置3. import 六、依赖注入1. 搭建环境2. Set 注入3. 总结补充&#xff1a;c 命名和 p 命名空间注入 七、Bean 的…

1.nginx基础学习笔记

1.nginx基础 一.Nginx介绍 Nginx是十分轻量级的HTTP服务器。Nginx&#xff0c;它的发音为“engine X”&#xff0c;是一个高性能的HTTP和反向代理服务器&#xff0c;同时也是一个IMAP/POP3/SMTP 代理服务器。Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站…

Cisco AnyConnect Secure Mobility Client 4.10.07061 (macOS, Linux, Windows)

Cisco AnyConnect Secure Mobility Client 4.10.07061 (macOS, Linux, Windows) Cisco Secure Client&#xff08;包括 AnyConnect&#xff09; 请访问原文链接&#xff1a;https://sysin.org/blog/cisco-anyconnect-4/&#xff0c;查看最新版。原创作品&#xff0c;转载请保…

Apache Kafka - 安装注意事项

文章目录 概述安装Kafka配置Kafka启动Kafka配置注意事项导图 概述 在现代的大数据时代&#xff0c;消息队列成为了极为重要的组件。Kafka作为一种高吞吐量、低延迟、可扩展的分布式发布订阅消息系统&#xff0c;在大数据领域得到了广泛的应用。来&#xff0c;这里我们将介绍如…

【场景方案】如何去设计并二次封装一个好用的axios,给你提供一个好的参考(1.0版)

文章目录 前言文件结构建议封装的文件结构接口管理文件 二次封装axios的初始配置initutilswebConfig 再封一层环境配置使用 前言 以下演示基于vue3与element-plus 文件结构建议 封装的文件结构 把二次封装axios所有有关的代码全部放在request文件夹中&#xff0c;其中init.js…

【系统移植】SD卡 分区

目录 1、分区框架 2、清空磁盘分区 3、开始分区 4、格式化分区 1、分区框架 制作SD卡时&#xff0c;我们需要对 SD 卡进行分区&#xff0c;每个区存入对应的内容&#xff0c;整体框架如下&#xff1a; 第二扇区&#xff1a;uboot程序从这里开始存储&#xff0c;最开始的第…

Class 07 - 功能包的安装和 tidyverse 介绍

Class 07 - 功能包的安装和 tidyverse 介绍 tidyverse 简介功能包&#xff08;package&#xff09;的安装tidyverse 的安装 功能包&#xff08;package&#xff09;的加载tidyverse 的加载 功能包&#xff08;package&#xff09;的更新tidyverse 核心功能browseVignettes 函数…

组合数学第三讲

composition&#xff08;组成&#xff09; k-composition&#xff1a; 20块巧克力分给4个小朋友&#xff0c;有几种分法&#xff1f; 隔板法&#xff0c;19个间隙插入3个板&#xff0c; 推广&#xff1a;n块分给k个 weak k-composition: 20块巧克力分给4个小朋友&#xff0c;每…

Ajax基础知识点总结

努力前进 目录 为什么需要Ajax&#xff1f; 1.提高用户体验&#xff0c;实现局部刷新效果 2.提高性能和降低带宽消耗 什么是 Ajax Ajax 的工作原理 Ajax的工作过程分为以下几个步骤&#xff1a; 最基础的Ajax代码演示&#xff1a; open函数中的参数分析: 在Ajax中ready…

Dijkstra单源最短路

Dijkstra单源最短路径 什么是单源最短路径 描述&#xff1a;给定一个带权有向图G (V&#xff0c;E)&#xff0c;其中每条边的权时非负数。另外&#xff0c;给定V中的一个顶点&#xff0c;称为源。现在要计算从源到所有其他各顶点的最短路长度。这里路的长度是指路上各边权之…

数据在 Mocaverse 项目启动过程中是如何发挥作用的

日期&#xff1a;2023年5月 数据源&#xff1a; Mocaverse Realm Ticket Collection Airdrop & Mocaverse Optimizes an NFT Project at Launch & Beyond NFT 是 Web3 社区的基础。它们是区块链游戏、DAO 和 metaverses 的入场券&#xff0c;以及成为社区参与者的数字…

[创业之路-69]:对管理理念的理解和解读

目录 前言&#xff1a; 一、管理者与领导者的区别 二、管理活动的分类 三、业务管理&#xff1a;以终为始 3.1 业务目标到高效执行 &#xff08;1&#xff09;先明确要做哪些正确的事 》 需求分析、目标 &#xff08;2&#xff09;再明确怎样正确的做事 》 设计、实现 …

chatgpt赋能Python-python3_pygame

Python3 Pygame&#xff1a;游戏引擎进入开发者的时代 Python是一种常用的编程语言&#xff0c;有许多优秀的库和框架&#xff0c;而其中Pygame是许多游戏开发者的首选。Pygame是一个用Python编写的开源软件包&#xff0c;旨在帮助游戏制作者创建交互式游戏和媒体程序。在本篇…

OpenCV基础操作(2)OpevCV算术运算

OpenCV基础操作(2)OpevCV算术运算 import cv2 as cv import numpy as np一、图像的基础操作 1、获取并修改像素值 你可以根据像素的行和列的坐标获取他的像素值。 对 BGR 图像而言&#xff0c;返回值为 B&#xff0c;G&#xff0c;R 的值。对灰度图像而言&#xff0c;会返回他…

微信小程序node+vue+uniapp课程在线答疑学习答题考试系统

系统主要分为管理员和学生、教师三部分&#xff0c;管理员服务端&#xff1a;首页、个人中心、学生管理、教师管理、课程资源管理、课程类型管理、学习记录管理、系统管理&#xff0c;教师服务端&#xff1a;首页、个人中心、课程资源管理、学习记录管理、试题管理、试卷管理、…

JAVA期末考内容知识点的梳理

作者的话 前言&#xff1a;这些都是很基本的&#xff0c;还有很多没有写出来&#xff0c;重点在于考试复习&#xff0c;包括后四章的内容 前面内容请参考JAVA阶段考内容知识点的梳理 一、集合、流 课堂总结1集合 集合概念&#xff1a; 保存和盛装数据的容器&#xff0c;将许多…

maven的常用命令clean/package/install/deploy

如标题&#xff0c;下面放图&#xff1a; 這就是一个pom对应的maven操作命令&#xff0c; 那这些命令中&#xff0c;最常用的打包项目的命令是什么&#xff1f; 两种最常用打包方法&#xff1a; 1.先 clean&#xff0c;然后 package2.先 clean&#xff0c;然后install 下面…

实验四 车辆定位导航

有想自己动手的同学可在末尾看教程 【实验目的】 1、了解全球定位导航系统的定位原理和电子地图技术&#xff0c;掌握电子地图API使用方法。 2、了解导航数据报文数据格式&#xff0c;解析导航数据并在电子地图上进行导航应用。 【实验性质】 验证性实验。 【实验要求】 1、相…

【动态规划专栏】--基础-- 动态规划经典题型

目录 动态规划 动态规划思维&#xff08;基础&#xff09; 状态表示&#xff08;最重要&#xff09; 状态转移方程&#xff08;最难&#xff09; 初始化&#xff08;细节&#xff09; 填表顺序&#xff08;细节&#xff09; 返回值&#xff08;结果&#xff09; 1、第 …

C++实现日期类Date(超详细)

个人主页&#xff1a;平行线也会相交&#x1f4aa; 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 平行线也会相交 原创 收录于专栏【C之路】&#x1f48c; 本专栏旨在记录C的学习路线&#xff0c;望对大家有所帮助&#x1f647;‍ 希望我们一起努力、成长&…