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

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

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-...


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

Ciao, maybe I overlooked something but from the outside you are accessing http://mydomain.com/geoserver/ not http://mydomain.com:8080/geoserver/ as the default port for Apache HTTP is port 80, hence connecting to port 8080 on it would give you exactly that error. Regards, Simone.


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

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

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

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

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

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

Those settings look like they belong to an Apache 2.2 server. For your Apache 2.4 server you could instead try: ProxyRequests Off ProxyPreserveHost On <Proxy /geoserver> Require all granted </Proxy> ProxyPass /geoserver http://127.0.0.1:8080/geoserver ProxyPassReverse /geoserver http://127.0.0.1:8080/geoserver Which are part of the ...


2

i can't find a link to share right now, but as of 10.1 the self contained installation of ArcGIS Server which is typically accessible on port 6080 is CORS enabled by default (the installation also gives you the option of laying down crossdomain and clientaccesspolicy.xml files to support the same in Flex and Silverlight). if you install the web adaptor on ...


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