OpenLayers基础:在IIS中部署并启用CGI
2011-07-23 13:53
453 查看
在使用OpenLayers过程中,若在IIS下部署,需要在IIS启用CGI,当前以IIS7为例进行介绍如何来启用CGI和相关的设置。启用CGI的目的是使用WFS的前提,因为WFS在请求过程中会出现跨域问题,所以根据OpenLayers的建议,只需要使用其自带的代理CGI。
1. 安装python
由于OpenLayers下的默认内置CGI是python实现的,所有要在机器上预先安装python运行环境,关于其安装,本文也不过多介绍,可以去官网http://www.python.org上下载安装即可。
2. 启用CGI
关于如下在IIS7中启用CGI,请参考本人前面的博文《在IIS7中启用CGI》,里面已做详细介绍,在此不做赘述,最终设置如下图。
3. 添加代理域
打开OpenLayers下的proxy.cgi,前部分代码如下:
python变量allowedHosts中,默认已添加了openlayers相关的网站域名,在实际应用过程中,本人的GeoServer的IP为192.168.0.201:8088,将其添加到其中即可。
4. 指定代理地址
在openlayers在使用wfs时,只需要添加如下一行代码即可,proxy.cgi的路径可以跟据实际情况来指定,由于本人实际应用中,是将proxy.cgi放在当前程序的相同目录。
P.S. 设置比较简单,持续应用中。
1. 安装python
由于OpenLayers下的默认内置CGI是python实现的,所有要在机器上预先安装python运行环境,关于其安装,本文也不过多介绍,可以去官网http://www.python.org上下载安装即可。
2. 启用CGI
关于如下在IIS7中启用CGI,请参考本人前面的博文《在IIS7中启用CGI》,里面已做详细介绍,在此不做赘述,最终设置如下图。
3. 添加代理域
打开OpenLayers下的proxy.cgi,前部分代码如下:
#!/usr/bin/env python """This is a blind proxy that we use to get around browser restrictions that prevent the Javascript from loading pages not on the same server as the Javascript. This has several problems: it's less efficient, it might break some sites, and it's a security risk because people can use this proxy to browse the web and possibly do bad stuff with it. It only loads pages via http and https, but it can load any content type. It supports GET and POST requests.""" import urllib2 import cgi import sys, os # Designed to prevent Open Proxy type stuff. allowedHosts = ['www.openlayers.org', 'openlayers.org', '192.168.0.201:8088', 'labs.metacarta.com', 'world.freemap.in', 'prototype.openmnnd.org', 'geo.openplans.org', 'sigma.openplans.org', 'demo.opengeo.org', 'www.openstreetmap.org', 'sample.avencia.com'] method = os.environ["REQUEST_METHOD"] # ...
python变量allowedHosts中,默认已添加了openlayers相关的网站域名,在实际应用过程中,本人的GeoServer的IP为192.168.0.201:8088,将其添加到其中即可。
4. 指定代理地址
在openlayers在使用wfs时,只需要添加如下一行代码即可,proxy.cgi的路径可以跟据实际情况来指定,由于本人实际应用中,是将proxy.cgi放在当前程序的相同目录。
OpenLayers.ProxyHost = "proxy.cgi?url=";
P.S. 设置比较简单,持续应用中。
相关文章推荐
- IIS 部署 node.js ---- 基础安装部署
- Python+CGI,在Windows上快速部署Python到IIS
- C#基础-代码部署数据库及IIS站点
- IIS的部署(一)------基础配置
- ASP.NET Boilerplate 学习 AspNet Core2 浏览器缓存使用 c#基础,单线程,跨线程访问和线程带参数 wpf 禁用启用webbroswer右键菜单 EF Core 2.0使用MsSql/MySql实现DB First和Code First ASP.NET Core部署到Windows IIS QRCode.js:使用 JavaScript 生成
- WebService部署到IIS时,解决“您试图从目录中执行 CGI、ISAPI 或其他可执行程序,但该目录不允许执行程序”的错误
- 安装SQL Server 2005提示IIS未安装或者未启用的解决方法
- Win8 IIS 安装和部署网站问题
- hadoop入门(3)——hadoop2.0理论基础:安装部署方法
- [置顶] IIs Web 站点安全 监控 站点自动部署 重启
- Silverlight网站IIS部署问题
- 已禁用对分布式事务管理器(MSDTC)的网络访问。请使用组件服务管理工具启用 DTC 以便在 MSDTC 安全配置中进行网络访问。 与基础事务管理器的通信失败。 .net 代码里 写事务代码
- IIS 部署 FTP 文件共享
- 基础知识(10)- 部署应用程序和applet
- HttpHandler在IIS中的部署问题(扩展名映射)
- 安装win2008r2、域控、IIS、证书服务器、部署exchange2010
- IIS7之下部署FluorineFx,找不到Fluorine.aspx文件的解决方案
- 部署步骤 回收 IIS 应用程序池”中出现错误: 无法将通信对象 System.ServiceModel.InstanceContext 用于通信,因为它已经被中止
- Orchard不能使用IIS部署的可能原因
- 用MDT 2012为企业部署windows 7(二)---基础环境搭建介绍