I have been working with GeoWebCache on a out of the box build GeoServer 2.17.0.

I have set "Enable direct integration with GeoServer WMS" in the Caching Defaults.

When I call GeoWebCache directly (http://localhost:8080/geoserver/nurc/gwc/service/wms?service=WMS&version=1.1.0&request=GetMap&layers=nurc:Arc_Sample&bbox=-180.0,-90.0,180.0,90.0&width=768&height=384&srs=EPSG:4326&format=image/jpeg)

I get the following error: 400: Requested horizontal resolution: 1.40625 , best match: 0.703125 exceeds 10% threshold. Perhaps the client is configured with an incorrect set of scales (resolutions),or the DPI setting is off compared to the one in GWC ?

The 0.703125 number is the resolution for the EPSG:4326 srs which is pre-defined and set in stone AFAICT. I am not sure where the 1.40625 number comes from, I assume it is calculated based on the request.

When I make a normal WMS request (http://localhost:8080/geoserver/nurc/wms?service=WMS&version=1.1.0&TILED=true&request=GetMap&width=360&height=180&layers=nurc:Arc_Sample&bbox=-180.0,-90.0,180.0,90.0&srs=EPSG:4326&format=image/jpeg) I get the following in the Return headers:

geowebcache-cache-result: MISS
geowebcache-miss-reason: request does not align to grid(s) 'EPSG:4326'

I have tried a few different requests but the result is always the same.

I have seeded the first 4 zoom levels for the layer

Set 'Compute from SRS bounds' for the layer's bounding box settings and dropped and recreated the layer and the cache layer

Alas none of it has changed anything.

Do you have any insight or ideas?


The bbox and width and height in the WMS request should match exactly the boundaries of the tiles. In your first example you are close and in the second far away from correct values. You can turn the fullWMS mode on as documented in https://docs.geoserver.org/master/en/user/geowebcache/using.html and then GWC should send image for any GetMap be selecting, combining and scaling all the tiles which are required.

Usually a client like OpenLayers is making the tiled WMS requests and when it is correctly configured to use the same gridset the bboxes will match and everything works. The GWC demo of the older versions used this system and if was possible to capture working tiled GetMap requests from the demo. Now the demo is updated to use WMTS service instead of WMS and the request that the demo is sending are like


While the request is not WMS GetMap is may prove that your title "GeoCache never serves map data" is wrong because it should show that GWC can serve map data when the request is right.

Not the answer you're looking for? Browse other questions tagged or ask your own question.