diff options
Diffstat (limited to 'custom/ymir-nginx.nix')
| -rw-r--r-- | custom/ymir-nginx.nix | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/custom/ymir-nginx.nix b/custom/ymir-nginx.nix index 861b0720..fd7d7e94 100644 --- a/custom/ymir-nginx.nix +++ b/custom/ymir-nginx.nix | |||
| @@ -16,6 +16,18 @@ let | |||
| 16 | uwsgi_param SERVER_PORT $server_port; | 16 | uwsgi_param SERVER_PORT $server_port; |
| 17 | uwsgi_param SERVER_NAME $server_name; | 17 | uwsgi_param SERVER_NAME $server_name; |
| 18 | ''; | 18 | ''; |
| 19 | |||
| 20 | favicon = builtins.toFile "favicon" '' | ||
| 21 | location = /favicon.ico { | ||
| 22 | root /srv/www/praseodym.org; | ||
| 23 | } | ||
| 24 | ''; | ||
| 25 | |||
| 26 | acme = builtins.toFile "acme" '' | ||
| 27 | location /.well-known/acme-challenge { | ||
| 28 | root /srv/www/acme/$host/; | ||
| 29 | } | ||
| 30 | ''; | ||
| 19 | in { | 31 | in { |
| 20 | services.nginx = { | 32 | services.nginx = { |
| 21 | enable = true; | 33 | enable = true; |
| @@ -56,11 +68,28 @@ in { | |||
| 56 | access_log stderr; | 68 | access_log stderr; |
| 57 | error_log stderr; | 69 | error_log stderr; |
| 58 | 70 | ||
| 71 | ssl_protocols TLSv1 TLSv1.1 TLSv1.2; | ||
| 72 | ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; | ||
| 73 | ssl_prefer_server_ciphers on; | ||
| 74 | ssl_session_cache shared:SSL:10m; | ||
| 75 | ssl_dhparam /etc/ssl/dhparam.pem; | ||
| 76 | |||
| 77 | server { | ||
| 78 | listen *:80; | ||
| 79 | listen [::]:80; | ||
| 80 | server_name _; | ||
| 81 | |||
| 82 | root /srv/www/praseodym.org; | ||
| 83 | } | ||
| 84 | |||
| 59 | server { | 85 | server { |
| 60 | listen *:80; | 86 | listen *:80; |
| 61 | listen [::]:80; | 87 | listen [::]:80; |
| 62 | server_name dirty-haskell.org www.dirty-haskell.org; | 88 | server_name dirty-haskell.org www.dirty-haskell.org; |
| 63 | 89 | ||
| 90 | include ${favicon}; | ||
| 91 | include ${acme}; | ||
| 92 | |||
| 64 | root /srv/www/dirty-haskell.org; | 93 | root /srv/www/dirty-haskell.org; |
| 65 | } | 94 | } |
| 66 | 95 | ||
| @@ -69,6 +98,9 @@ in { | |||
| 69 | listen [::]:443 ssl; | 98 | listen [::]:443 ssl; |
| 70 | server_name dirty-haskell.org; | 99 | server_name dirty-haskell.org; |
| 71 | 100 | ||
| 101 | include ${favicon}; | ||
| 102 | include ${acme}; | ||
| 103 | |||
| 72 | ssl_certificate /etc/nginx/ssl/dirty-haskell.org/fullchain.pem; | 104 | ssl_certificate /etc/nginx/ssl/dirty-haskell.org/fullchain.pem; |
| 73 | ssl_certificate_key /etc/nginx/ssl/dirty-haskell.org/privkey.pem; | 105 | ssl_certificate_key /etc/nginx/ssl/dirty-haskell.org/privkey.pem; |
| 74 | 106 | ||
| @@ -80,6 +112,9 @@ in { | |||
| 80 | listen [::]:443 ssl; | 112 | listen [::]:443 ssl; |
| 81 | server_name www.dirty-haskell.org; | 113 | server_name www.dirty-haskell.org; |
| 82 | 114 | ||
| 115 | include ${favicon}; | ||
| 116 | include ${acme}; | ||
| 117 | |||
| 83 | ssl_certificate /etc/nginx/ssl/www.dirty-haskell.org/fullchain.pem; | 118 | ssl_certificate /etc/nginx/ssl/www.dirty-haskell.org/fullchain.pem; |
| 84 | ssl_certificate_key /etc/nginx/ssl/www.dirty-haskell.org/privkey.pem; | 119 | ssl_certificate_key /etc/nginx/ssl/www.dirty-haskell.org/privkey.pem; |
| 85 | 120 | ||
| @@ -88,13 +123,20 @@ in { | |||
| 88 | 123 | ||
| 89 | server { | 124 | server { |
| 90 | listen *:80; | 125 | listen *:80; |
| 126 | listen *:443 ssl; | ||
| 91 | listen [::]:80; | 127 | listen [::]:80; |
| 92 | server_name git.yggdrasil.li www.git.yggdrasil.li; | 128 | listen [::]:443 ssl; |
| 129 | ssl_certificate /etc/nginx/ssl/git.yggdrasil.li/fullchain.pem; | ||
| 130 | ssl_certificate_key /etc/nginx/ssl/git.yggdrasil.li/key.pem; | ||
| 131 | server_name git.yggdrasil.li; | ||
| 93 | 132 | ||
| 94 | root ${pkgs.cgit}/cgit; | 133 | root ${pkgs.cgit}/cgit; |
| 95 | 134 | ||
| 96 | try_files $uri @cgit; | 135 | try_files $uri @cgit; |
| 97 | 136 | ||
| 137 | include ${favicon}; | ||
| 138 | include ${acme}; | ||
| 139 | |||
| 98 | location @cgit { | 140 | location @cgit { |
| 99 | include ${uwsgi_params}; | 141 | include ${uwsgi_params}; |
| 100 | uwsgi_pass unix:/tmp/cgit.sock; | 142 | uwsgi_pass unix:/tmp/cgit.sock; |
