Manage SSL termination directly from Elixir #1068
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
To remove caddy (or any reverse proxy) as middleman, to remove the latency overhead.
Summary of changes
config/runtime.exs:90
: parametrize SSL port as elixir and environment variablesconfig/runtime.exs:95-105
: configure SSL endpoint on the port_ssl set before, and parametrizing the SSL certificates' paths as environment variablesNOTE: this only affects the
arena
release, and only when it's been built withMIX_ENV=prod
How to test it?
MIX_ENV=prod
)FYI: there are other ways in Linux to give this kind of capabilities (link)
NOTE: currently it is not working (tested on NixOS 24.11). The server is joined successfully from an iPhone but as soon as a any game is joined, "Your connection to the server has been lost", and the logs on the server are:
Checklist