Marcin Niemyjski via MapServer-users:
> Hello,
> 
> I'm involved in the development of a project connecting Mapserver with
> capabilities of Kubernetes like scalability, load balancing etc.
> 
> We've run into problem wich I think can be solved on the side o Mapserver,
> namely:
> 
> The k8s external IP cannot immediately be placed in "wms_onlineresource"
> because it takes time to generate it. Up to now I have checked the WMS
> operation by GetCapabilites, GetMap queries, and set "wms_onlineresource" to
> http://localhost:80/?map=/etc/mapserver/map1-test.map. I've made requests
> (GetMap GetCapabilites) via http://<External IP
> Address>/?map=/etc/mapserver/map1-test.map - everything was working. However,
> when loading the layer into QGIS nothing happened. I believe this is because
> even though the queries work using url with external IP, the information that
> comes in the XML file contains localhost:80 and QGIS is trying to connect to
> a layer that does not exist locally.
> 
> Is there any way for the mapserver to know that localhost:80 must be replaced
> with the external ip address from the query?

Comment out the ows_onlineresource configuration, and Mapserver will utilize 
whatever hostname you reached it at.
That way, the same mapfile can be used in local development, test/qa and 
production without need for changing
ows_onlineresource when moving between environments.

One caveat we came across, having a reverse proxy in front of our mapserver 
(w/apache).
http->http => wms_onlineresource will use http
https->https => wms_onlineresource will use https
https->http => wms_onlineresource will use http, even though http headers for 
forward port and forward proto is set.

Other than that, you will be fine with not configuring ows/wms_onlineresource 
in your mapfile.

-- 
Kind regards 
 
Bjørn Ove Grøtan
_______________________________________________
MapServer-users mailing list
MapServer-users@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to