[mod] roles:synapse-and-nginx:tls mode

This commit is contained in:
roydfalk 2024-07-03 22:31:49 +02:00
parent 6d42a70bd4
commit d08f287d73
3 changed files with 50 additions and 17 deletions

View file

@ -1,3 +1,4 @@
{
"var_synapse_and_nginx_domain": "REPLACE_ME"
"var_synapse_and_nginx_domain": "REPLACE_ME",
"var_synapse_and_nginx_tls_mode": "enable"
}

View file

@ -1,19 +1,4 @@
server {
listen 80;
listen [::]:80;
listen 443 ssl;
listen [::]:443 ssl;
## For the federation port
listen 8448 ssl http2 default_server;
listen [::]:8448 ssl http2 default_server;
server_name {{var_synapse_and_nginx_domain}};
ssl_certificate /etc/ssl/fullchains/{{var_synapse_and_nginx_domain}}.pem;
ssl_certificate_key /etc/ssl/private/{{var_synapse_and_nginx_domain}}.pem;
include /etc/nginx/ssl-hardening.conf;
{% macro synapse_common() %}
location ~ ^(/_matrix|/_synapse/client) {
proxy_pass http://localhost:8008;
proxy_set_header X-Forwarded-For $remote_addr;
@ -24,4 +9,36 @@ server {
proxy_http_version 1.1;
}
{% endif %}
server {
server_name {{var_synapse_and_nginx_domain}};
listen 80;
listen [::]:80;
{% if (var_synapse_and_nginx_tls_mode == "force") %}
return 301 https://$http_host$request_uri;
{% else %}
{{ synapse_common() }}
{% endif %}
}
{% if (var_element_and_nginx_tls_mode != "disable") %}
server {
server_name {{var_synapse_and_nginx_domain}};
listen 443 ssl http2;
listen [::]:443 ssl http2;
## For the federation port
listen 8448 ssl http2 default_server;
listen [::]:8448 ssl http2 default_server;
ssl_certificate_key /etc/ssl/private/{{var_synapse_and_nginx_domain}}.pem;
ssl_certificate /etc/ssl/fullchains/{{var_synapse_and_nginx_domain}}.pem;
include /etc/nginx/ssl-hardening.conf;
{{ synapse_common() }}
}
{% endif %}

View file

@ -0,0 +1,15 @@
{
"domain": {
"type": "string",
"mandatory": false
},
"tls_mode": {
"type": "string",
"options": [
"disable",
"enable",
"force"
],
"mandatory": false
}
}