[GIS] Problems configuring MapProxy to serve WMS layer

mapproxymapserverwms

I'm having problems making MapProxy render a Mapserver WMS layer. My
configuration file looks like this:

services:
 wms:
   srs: ['EPSG:3785', 'EPSG:4326', 'EPSG:23028']
   image_formats: ['image/jpg', 'image/png']

layers:
 name: mylayer
 title: My layer
 sources: [my_wms_source]

sources:
 my_wms_source:
   type:wms
   req:
     url: http://mydomain/cgi-bin/mapserv?
     layers: mylayer_in_mapserver
     map: /path/to/my/mapfile.map

Direct queries to mapserver work fine. So, a query like this works:

http://mydomain/cgi-bin/mapserv?styles=&map=/path/to/my/mapfile.map&format=image/png&width=800&height=600&bbox=-18.4267,27.3264,-13.0047,29.5457&layers=mylayer_in_mapserver&service=WMS&request=GetMap&srs=EPSG:4326&version=1.1.1

The key, I think, is in the bounding box. If I deploy MapProxy with
debug activated and try to see my WMS source through the demo app,
queries like these are raised:

http://mydomain/cgi-bin/mapserv?styles=&map=map=/path/to/my/mapfile.map&format=image%2Fpng&width=800&height=600&bbox=-506.77734375,-266.8359375,370.01953125,190.1953125&layers=mylayer_in_mapserver&service=WMS&request=GetMap&srs=EPSG:4326&version=1.1.1

And that query doesn't work, because the bounding box is in a
different coordinate system (I guess epsg:3785).

How could I control that? The bbox is used for WMS queries. I've tried
the 'srs' parameter in the wms option of the 'services' section, but it
doesn't work. Any clues?

Thanks in advance, and best regards

Best Answer

Solved. With this configuration in the MapProxy yaml file:

services:
  wms:
    srs: ['EPSG:3785', 'EPSG:4326', 'EPSG:23028']
    image_formats: ['image/jpg', 'image/png']

layers:
  name: mylayer
  title: My layer
  sources: [my_cache]

caches:
  my_cache:
   grids: [GLOBAL_MERCATOR]
   sources: [my_wms_source]
   format: image/png
   request_format: image/png

sources:
  my_wms_source:
   type:wms
   req:
     url: http://ip_of_my_mapserver_machine/cgi-bin/mapserv?
     layers: mylayer_in_mapserver
     map: /path/to/my/mapfile.map
   supported_srs:['EPSG:3785', 'EPSG:4326', 'EPSG:23028']
Related Question