安裝CGI代理我想設置一個代理的OpenLayers使用,所以我按照這些步驟:在Tomcat
從網上下載的OpenLayers網站上的proxy.cgi文件: http://trac.osgeo.org/openlayers/browser/trunk/openlayers/examples/proxy.cgi
修改proxy.cgi文件,包括我在allowedHosts列表域:
allowedHosts = [ '本地主機:6901']
複製proxy.cgi文件到以下文件夾:
$ TOMCAT_PATH $/webapps /目錄yourApp/WEB-INF/CGI/
通過將部分修改你的web應用程序的文件的web.xml下面。你會發現在
$ TOMCAT_PATH $/webapps /目錄yourApp/WEB-INF/web.xml中的文件
點評:如果web.xml文件中不存在你的web應用,只需自己創建它或從另一個Web應用程序複製並修改它。 (創建!)
評論:「可執行」參數的「參數值」必須包含Python安裝的路徑。 (它!)
<servlet>
<servlet-name>cgi</servlet-name>
<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/cgi</param-value>
</init-param>
<init-param>
<param-name>executable</param-name>
<param-value>c:\python25\python.exe</param-value>
</init-param>
<init-param>
<param-name>passShellEnvironment</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>cgi</servlet-name>
<url-pattern>/cgi-bin/*</url-pattern>
</servlet-mapping>
通過添加以下元素修改你的web應用程序的文件context.xml中。你會發現在
$TOMCAT_PATH$/webapps/yourApp/META-INF/context.xml
重新啓動Tomcat的文件
使用代理服務器的使用的OpenLayers,只是包含這個單行到您的代碼:
OpenLayers.ProxyHost =「/ yourWebApp /的cgi-bin/proxy.cgi URL =?「;
但是當我嘗試使用它喜歡:
/webappname/cgi-bin/proxy.cgi?url=labs.metacarta.com
我得到這個錯誤:
Some unexpected error occurred. Error text was: list index out of range
我認爲它與os.environ [ 「REQUEST_METHOD」]但我相關不知道它的相關..
你可以顯示你的代碼調用模塊和模塊代碼嗎? (如果可能?) – 2012-08-05 13:42:39
更多信息。是需要的 - 你在CGI中運行嗎? - 如果是這樣 - 什麼等等......這將是很好的提供正確格式化的完整回溯。 – 2012-08-05 13:46:56
那裏是更新說明 – 2012-08-05 18:52:43