DurhamARC / ManyFEWS

The Many Flood Early Warning System
GNU General Public License v3.0
7 stars 3 forks source link

Implement TLS security capability for production backend #96

Closed sjmf closed 11 months ago

sjmf commented 1 year ago

In production, we may wish to deploy the WSGI gateway (gunicorn) on a separate host to the nginx frontend reverse proxy. See docker-compose.azure.yml and docker-compose.backend.yml. The network in-between the two hosts should be treated as insecure.

Infrastructure Diagram

The solution to this is to implement transport-layer security between nginx and its upstream server at gunicorn.

Resources:

gunicorn --certfile=server.crt --keyfile=server.key test:app

NB: This is distinct from issue #86: There, TLS is between client and nginx. In this issue, TLS is required between nginx and gunicorn.

sjmf commented 11 months ago

We are no longer deploying with this architecture: Instead, we were successful in getting server routing to the outside world from the backend server. This issue is no longer required.