1

I try to setup WFS3 Endpoint which is built in QGIS Server. I tried QGIS versions 3.22, 3.28 and also 3.30. All versions behave the same. So I might miss a step here.

QGIS Server runs like it is described here: https://docs.qgis.org/3.28/en/docs/server_manual/containerized_deployment.html#simple-docker-images

So basically I do have a container with NGINX which talks to the container of QGIS Server over fastcgi_pass.

I only changed it to the following url pattern in NGINX to:

<host>/wfs3/<project-name>/collections/...

The project-name is put into the QGIS_PROJECT_FILE fastcgi variable. It works correctly. If I point to my URLS directly, I can receive what I expect. However, the links contained in the response htmls or jsons are missing the project-name part and therefore are not working. I see in the QGIS logs that the urls with the project-name are recognized but somehow are not handled.

Example URL called: http://localhost:8080/wfs3/test-project/collections/test-layer

The HTML response contains URLS like (missing test-project): http://localhost:8080/wfs3/collections/test-layer/items

I want to avoid the usage map url-parameter because I do not like to expose internal file paths to the web. I recognized that this parameter is contained in the linked URLS when I use it this way.

I tried several Headers and fastcgi-params without success. Especially those mentioned here. But they only seem to work for the classical WMS/WFS endpoints. Not the OGCAPIF WFS3 endpoint (which are working correctly, by the way).

Does anybody have a hint for me how to achieve that? Any parameter/header I can set dynamically on request to tell QGIS server it runs in a subpath of the domain?

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.