Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🐛 [BUG]: Resolve GeoServer vs GeoServer-Secured access #431

Open
fmigneault opened this issue Mar 5, 2024 · 0 comments
Open

🐛 [BUG]: Resolve GeoServer vs GeoServer-Secured access #431

fmigneault opened this issue Mar 5, 2024 · 0 comments
Assignees
Labels
bug Something isn't working

Comments

@fmigneault
Copy link
Collaborator

Summary

Bug related to protected GeoServer requests.

Details

https://github.com/bird-house/birdhouse-deploy/blob/eaa09c2819e5e5dc5bd36dae6827562f3beef1c5/birdhouse/optional-components/README.rst#test-geoserver-secured-access
was made available (as /geoserver-secured) to evaluate GeoServer behind Twitcher.

However, /geoserver is already available through Twitcher verify pre-request when GEOSERVER_SKIP_AUTH=False (default) is set:
https://github.com/bird-house/birdhouse-deploy/blob/eaa09c2819e5e5dc5bd36dae6827562f3beef1c5/birdhouse/components/geoserver/config/proxy/conf.extra-service.d/geoserver.conf.template

export GEOSERVER_SKIP_AUTH=False
export GEOSERVER_SKIP_AUTH_PROXY_INCLUDE='$([ x"${GEOSERVER_SKIP_AUTH}" = x"True" ] && echo "return 200;")'

Testing this configuration seems to do the Magpie/Twitcher pre-request as expected, but the resulting request with GeoServer fails.

For example, https://hirondelle.crim.ca/twitcher/ows/proxy/geoserver/api returns (HTTP 400):

 Request failed: HTTPSConnectionPool(host='proxy', port=443): Max retries exceeded with url: /api (Caused by SSLError(CertificateError("hostname 'proxy' doesn't match either of '*.crim.ca', 'crim.ca'"))) 

The above proxy seems to be related to the nginx service doing the redirect.
Maybe the configuration is missing some proxy_set_header Host $host; / proxy_set_header X-Forwarded-Proto $real_scheme; definitions or similar.

To Reproduce

Steps to reproduce the behavior:

  1. Use a protected GeoServer instance.
  2. Send a request to one of its service paths

Environment

Information Value
Server/Platform URL any
Version Tag/Commit latest
Related issues/PR
Related components geoserver
Custom configuration n/a

Concerned Organizations

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants