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; |