[mod] role:hedgedoc-and-nginx:tls mode

This commit is contained in:
roydfalk 2024-07-03 21:55:57 +02:00
parent a3509ca37b
commit dc28d22a90
3 changed files with 45 additions and 11 deletions

View file

@ -1,3 +1,4 @@
{
"var_hedgedoc_and_nginx_domain": "hedgedoc.example.org"
"var_hedgedoc_and_nginx_domain": "hedgedoc.example.org",
"var_hedgedoc_and_nginx_tls_mode": "enable"
}

View file

@ -3,16 +3,7 @@ map $http_upgrade $connection_upgrade {
'' close;
}
server {
server_name {{var_hedgedoc_and_nginx_domain}};
listen [::]:443 ssl http2;
listen 443 ssl http2;
ssl_certificate /etc/ssl/fullchains/{{var_hedgedoc_and_nginx_domain}}.pem;
ssl_certificate_key /etc/ssl/private/{{var_hedgedoc_and_nginx_domain}}.pem;
include /etc/nginx/ssl-hardening.conf;
{% macro hedgedoc_common() %}
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
@ -30,4 +21,31 @@ server {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
{% endmacro %}
server {
server_name {{var_hedgedoc_and_nginx_domain}};
listen 80;
listen [::]:80;
{% if (var_element_and_nginx_tls_mode == "force") %}
return 301 https://$http_host$request_uri;
{% else %}
{{ hedgedoc_common() }}
{% endif %}
}
{% if (var_element_and_nginx_tls_mode != "disable") %}
server {
server_name {{var_hedgedoc_and_nginx_domain}};
listen [::]:443 ssl http2;
listen 443 ssl http2;
ssl_certificate_key /etc/ssl/private/{{var_hedgedoc_and_nginx_domain}}.pem;
ssl_certificate /etc/ssl/fullchains/{{var_hedgedoc_and_nginx_domain}}.pem;
include /etc/nginx/ssl-hardening.conf;
{{ hedgedoc_common() }}
}

View file

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