Hot answers tagged

6

My comment was half truthful. Every request that you allow your JavaScript App to make, I can make them too. You have to be a little bit smart about it. So, securing your ArcGIS Server is possible, it's only a matter of how much work you are willing to do. I used to work for a Government client, that had a similar request. I tried to reason with them, but ...


5

You do not need to configure proxypass and proxypassreverse. You will need a proxy.cgi file written in python, and python installed on your server. you can get the proxy file with the openlayers distribution in the example folder. you will have to configure the path to python interpreter in the 1st line, and add your host to list of allowed hosts.


4

I've been experimenting with AWS lately. S3 doesn't support server-side scripting -- see below. I think you want beanstalk or just a regular EC2 server. I'm running a micro linux EC2 server essentially for free right now. It's "on demand" instead of "reserved", but I just keep it on all the time. I think the advantage of beanstalk is that you have many ...


4

When you are sending a geometry to query a feature service, say for an intersection, the geometry is going to be large for a polygon. It will usually exceed the 2000 character limit for a get request. When it exceeds that limit, esri.request will send a post request, which requires the proxy, if you haven't specified that the server is CORS enabled. However,...


4

Yes a proxy is the way to go right now, since you need to put your API_KEY in the url to access to tiles from private tables (and you should not expose your API_KEY). The code is a bit outdated but it should work. FYI we are currently testing an implementation that allows you to have maps from private tables, this is the spec: https://github.com/CartoDB/...


4

You're reading too much into the "security concerns" comment. Basically he means you can't connect directly to the database, which is more true from a practicality point of view than from a security point of view. You're going to have something speaking HTTP between your web page and your database. It could be MapServer or GeoServer or FeatureServer. Or it ...


4

Basically you just need a PHP script that acts as a middle man and does the fetching for you, then returns what it gets directly to the client. I converted your JS snippet above into the relevant parts below. Notice that the url in your Leaflet tileLayer example has been changed to a PHP endpoint with URL parameters: ?s={s}&z={z}&x={x}&y={y} ...


4

Yes this is possible! There are multiple approaches for this. You can install Apache http server from here and you have to configure modjk module in this using modJk configuration (You will define worker and properties here and you can add your ArcGIS server IP here) Now you just have to call your public IP with arcgis and modjk module of Apache HTTP ...


4

I was able to get it working with the following Nginx settings: location / { proxy_pass http://127.0.0.1:8080/geoserver/; proxy_pass_header Set-Cookie; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location /geoserver/ { proxy_pass http://127.0....


3

Try using the Cadcorp.OGC.CGI.exe (which you can just rename to, for example, wfs.exe) instead of your proxy.asp. It is configured via a companion INI file, and passes on everything that GeognoSIS needs. Or, you could use WMS GetFeatureInfo instead of WFS, for a simplified response


3

You can use GetFeatureInfo without proxy, when both your OpenLayers application and GeoServer live in same domain and same port. If they are in different location, you need proxy. Simple as that.


3

When you want to make a XHR request to tomcat.capecodgis.com/geoserver from capecodgis.com, it will not be directly possible because this is a crossdomain request. Generally speaking in the case of crossdomain, resources such as images, JavaScript files etc can be requested across domains. But for JavaScript to make a request to a service is not allowed. ...


3

Technically it is very simple to use Google tiles as source for WMS. You can do this with the following MapProxy config: services: demo: tms: wms: md: title: MapProxy WMS Server sources: gm: type: tile url: http://mt0.google.com/vt/lyrs=m@0&hl=en&x=%(x)s&y=%(y)s&z=%(z)s grid: gm_grid grids: gm_grid: ...


3

MapProxy supports WMS sources (1.0.0–1.3.0)& TMS/WMTS sources. Google does not have an WMS service. It has its own tiles, and according to Google's Terms & Conditions, you are allowed to access the tiles only through their API. This is why you cannot use MapProxy with Google Maps as a source.


3

A 500 error indicates that the server is having problems. This tells me that the proxy is not configured properly. To solve the issue, I would check the following: Are you on a Linux/Unix Machine? The path #!/usr/bin/env python.exe -u; is usually for linux systems. My proxy file on a windows machine has the following as the first line: #!C:/Python27/...


3

not a direct answer to your question, but since you're using version 3.8 of the API, you can selectively route traffic to secure services through your proxy rather than relying on setting alwaysUseProxy to 'true'. instead of esri.config.defaults.io.alwaysUseProxy = true; you could use urlUtils.addProxyRule({ urlPrefix: "traffic.arcgis.com", ...


3

The issue is to do with the Tomcat settings and not with any settings of GeoServer. Note the Tomcat docs tell us: It should be noted that it is not recommended to use a reverse proxy to change the context path because of the multiple issues it creates. So if you want to run GeoServer under a different name you might consider changing the name of the ...


3

There a two or three possible reasons that come to my mind: Option1: your Webserver is not configured properly: What happens for example if you try to access this site(presuming that you put your proxy.cgi in your usr/lib/cgi-bin -folder): http://yourserver_ip_or_adress/cgi-bin/proxy.cgi?url=http://www.openstreetmap.org If you wont see the openstreetmap-...


3

In Options -> Network, you can type addresses in "Exclude URLs" to bypass the proxy.


3

From http://permalink.gmane.org/gmane.comp.gis.geoserver.user/42219 Put content of this archive http://shanbe.hezoun.com/cors.zip into the \webapps\geoserver\WEB-INF\classes folder. use <filter-class>org.mortbay.servlets.CrossOriginFilter</filter-class> insteand of <filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-...


3

You need to set the http proxy variables either using a system environment variable or through a JVM property set in catalina.sh. There are detailed steps on how to do this on the WFS Store page. In the past there have been issues with the HTTP COnnection pooling not picking up the proxy variables so if it continues to not work try unclicking the ...


3

Changing these keys changed the settings in both the GUI and the Windows Registry of QGIS 2.14 Essen using your code above in the Python Console: u'proxy/proxyEnabled', u'proxy/proxyExcludedUrls', u'proxy/proxyHost', u'proxy/proxyPassword', u'proxy/proxyPort', u'proxy/proxyType', u'proxy/proxyUser' And at the end add: QSettings.sync()


3

That server was deprecated in 2016. https://www.usgs.gov/news/usgs-national-map-orthoimagery-map-services-transition-and-other-map-service-changes The official announcement includes links to the replacememt services.


3

The problem is caused because you are drawing a new version of the selected polygon when the click event happens. Then, when you think you are clicking on the original polygon for the second time you're actually clicking on the newly drawn version of the polygon. This polygon does not have the layerId information like the original layer which is why you get ...


2

When JavaScript was first developed, it was not imagined that it would have such wide use, and hence many assumptions were made during its development, which have become problematic today. When Microsoft designed the XMLHttpRequest in their Internet Explorer Browser, it was designed with a big limitation. The XMLHttpRequest does not allow you to directly ...


2

We are also behind a Forefront TMG, and I use Cntlm ( http://cntlm.sourceforge.net/ ) as a local proxy. So QGis connects to my local CNTLM on localhost without a password, cntlm is configured with the login credentials for the forefront proxy and connects to that. This is an ugly hack, but works for me.


2

The reason for using a proxy, at least as far as I am aware, is to resolve Cross Domain Issues, where you are trying to load from another domain. If your OpenLayers is hosted on the intranet at http://myserver/index.html and your kml file sits at http://myserver/mykml.kml then there is no need for a proxy. Most likely, there is a problem serving ...


2

I don't think this is possible in a purely technical sense. If your user has access to the client, then there will be a way that they can work around the protection, even if it relies on a browser automation technology. Its always helpful to rethink what you are trying to protect, and what you are trying to protect it from (sometimes called the threat model)...


2

No, A JavaScript App on another Domain can't use your proxy directly. You need to understand that JavaScript has a major limitation. It can't directly access resources (excluding images) from another domain. This is generally why a proxy is used inthe first place; to access the resources from an ArcGIS server or other services which are on another domain. ...


2

Generally any site accessing CartoDB will make a series of different request types, some of these requests will be for tiles, others may be requests directly on the SQL API. These request types will have different URL patterns. Your proxy must therefore handle these URL patterns accordingly and append the correct keys as per answer from @javisantana I have ...


Only top voted, non community-wiki answers of a minimum length are eligible