Skip to content

Allow for Proxy Configuration#263

Merged
DiCanio merged 5 commits intodevelopfrom
feature/244-allow-proxy-configuration
Aug 7, 2025
Merged

Allow for Proxy Configuration#263
DiCanio merged 5 commits intodevelopfrom
feature/244-allow-proxy-configuration

Conversation

@DiCanio
Copy link
Collaborator

@DiCanio DiCanio commented Aug 7, 2025

Allows for adjusting proxy behavior of the web clients used throughout the application. This can be done by using environment variables (referenced in the README).

The implementation makes use of 2 different proxy configurations due to different web clients being in use. That's because there's a dedicated web client used solely in combination with the socket.io library. Another client is used for the rest of the application. In the end the functionality is the same but the setup process is different.

These changes also allow for specifying non-proxy hosts in order to bypass any proxy in place.

Resolves #244

DiCanio and others added 5 commits August 5, 2025 10:43
Adds options for configuring forward proxy functionality
using HTTP (SOCKS is not supported by these changes).
Allows for setting the following options:
- hostname
- port
- username
- password (via file reference)
- whitelist

It comes with support for hostname whitelisting, effectively
bypassing the proxy if the requested host matches a pattern
(given as a Java RegEx).

These changes contain 2 different proxy configuration paths
which are necessary since the HTTP client used throughout the
application is different from the one used exclusively for
socket.io connections. The configuration paths provide the
same functionality but have to deal with different types of
clients that are configured in different ways.
Due to how the application gets configured using
its `application.yml` file, proxy related settings
will never be null, even if the corresponding env
vars are not set. Hence, checks need to take this
into account and check for blank strings instead.

Without this change authentication would always be
configured (just a single example).
Ensures that configured HTTP client references
are returned from their corresponding configuration
functions. Otherwise, they would simply configure a
reference in-place which is only valid within the
scope of the configuration function itself.

Without this change, SSL and proxy configurations
are not working.
Adds a single NGINX instance to the dev setup for
development purposes. The instance is configured
so that incoming requests are simply forwarded to
their corresponding destinations. Additionally,
the X-Forwarded-For header is set so that the full
IP chain is preserved.
@DiCanio DiCanio self-assigned this Aug 7, 2025
@DiCanio DiCanio added the enhancement New feature or request label Aug 7, 2025
@DiCanio DiCanio merged commit 90f64ad into develop Aug 7, 2025
4 checks passed
@DiCanio DiCanio deleted the feature/244-allow-proxy-configuration branch August 7, 2025 09:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Allow Forward Proxy Configuration

2 participants