[qgis-qwc2] Proxy (again) causes ERROR reading WMS GetProjectSettings

Thomas Schüttenberg thomas at qgis.de
Thu Sep 10 22:57:42 PDT 2020


Hi!

Yesterday I figured out how I can work around my proxy problem: that is by entering the IP and port of my QGIS server machine into the top "proxy" block of themesConfig.json.

With this setting (which is not a "proxy" actualy) the application compiles and themes.json is created. Nice.

However, only projects in themesConfig.json that contain OWS services from the same QGIS server can be used in this way! This is IMHO a restriction that will hardly be sufficient in a production environment.

BTW: the accessibility of "backgroundLayers" served by external servers is/was not affected by this issue.

All the best
Thomas

-- 
QGIS-DE e.V. | https://qgis.de | thomas at qgis.de


> Thomas Schüttenberg <thomas at qgis.de> hat am 03.09.2020 15:17 geschrieben:
> 
>  
> Hi there!
> 
> For one and a half year I have a still running QWC2, displaying some of my own QGIS Server WMS projects as a demo. I never touched it since then but now it is time to run themesconfig again with new and nicer projects.
> 
> Unfortunately I got into trouble (again) with our corporate proxy environment. 
> The proxy here is configurated by .pac files (proxy auto-configation) [0] from which I extracted the proxy host-ip and port. Git, node and yarn have been configured successfully with the proxy settings and work. 
> If generating a themes.json from the themesConfig.json out of the demo-app package - adding a toplevel block to specify the proxy settings to use in themesConfig.json as stated in the docs [1] - it works. All WMS in this themesConfig.json are outside of my network, so the proxy is needed and used.
> 
> If I adapt this themesConfig.json with my own QGIS server WMS, which are within my local network, then it fails, 
> accessing my service is forbidden. From the bash:
> 
> ERROR reading WMS GetProjectSettings of http://nt440geo3:90/ows/altgrundkarte:
> Error: Request failed with status code 403
>       at createError (C:\QWC2_dev\qwc2-demo-app\node_modules\axios\lib\core\create
> Error.js:16:15)
>       at settle (C:\QWC2_dev\qwc2-demo-app\node_modules\axios\lib\core\settle.js:1
> 7:12)
>       at IncomingMessage.handleStreamEnd (C:\QWC2_dev\qwc2-demo-app\node_modules\a
> xios\lib\adapters\http.js:237:11)
>       at IncomingMessage.emit (events.js:327:22)
>       at endReadableNT (_stream_readable.js:1220:12)
>       at processTicksAndRejections (internal/process/task_queues.js:84:21) {
>    config: {
>       url: 'http://nt440geo3:90/ows/altgrundkarte?SERVICE=WMS&VERSION=1.3.0&REQUES
> T=GetProjectSettings',
>       method: 'get',
>       headers: {
>          Accept: 'application/json, text/plain, */*',
>          'User-Agent': 'axios/0.19.0',
>          host: 'nt440geo3:90'
>       },
>       proxy: { host: '10.0.200.200', port: '8080' },
> 
> Ok, there is an exeption for the subnet of my server in the pac-file, so the proxy is not meant to be used and a failing request seems correct(?).
> 
> But if I remove the proxy in themesConfig.json it doesn't work either, then the connection is refused:
> ERROR reading WMS GetProjectSettings of http://nt440geo3:90/ows/altgrundkarte:
> Error: connect ECONNREFUSED 127.0.0.1:80
>       at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16) {
>    errno: 'ECONNREFUSED',
>    code: 'ECONNREFUSED',
>    syscall: 'connect',
>    address: '127.0.0.1',
>    port: 80,
>    config: {
>       url: 'http://nt440geo3:90/ows/altgrundkarte?SERVICE=WMS&VERSION=1.3.0&REQUES
> T=GetProjectSettings',
>       method: 'get',
>       headers: {
>          Accept: 'application/json, text/plain, */*',
>          'User-Agent': 'axios/0.19.0',
>          host: 'nt440geo3:90'
>       },
>       proxy: { host: '', port: '' },
> 
> because it tries to connect to 127.0.0.1. - But why? How to configure an equivalent of the 'return "DIRECT"' in the pac-file?
> 
> Although this is not an issue of QWC itself, could somone give me a clue on how to configure this beast so that it will generate themes.json again?
> 
> Thanks in advance, all the best
> Thomas
> 
> [0] https://docs.microsoft.com/de-de/internet-explorer/ie11-ieak/proxy-auto-config-examples#beispiel-4-direktes-verbinden-wenn-sich-der-host-in-einem-angegebenen-subnetz-befindetexample-4-connect-directly-if-the-host-is-in-specified-subnet
> [1] https://github.com/qgis/qwc2-demo-app/blob/master/doc/QWC2_Documentation.md#themes-json
> 
> -- 
> QGIS-DE e.V. | https://qgis.de | thomas at qgis.de
> _______________________________________________
> qgis-qwc2 mailing list
> qgis-qwc2 at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/qgis-qwc2


More information about the qgis-qwc2 mailing list