summaryrefslogtreecommitdiff
path: root/roles/webservers
diff options
context:
space:
mode:
Diffstat (limited to 'roles/webservers')
-rw-r--r--roles/webservers/files/nginx.conf2
-rw-r--r--roles/webservers/files/nijika/http.authelia.simponic.xyz.conf13
-rw-r--r--roles/webservers/files/nijika/http.headscale.simponic.xyz.conf4
-rw-r--r--roles/webservers/files/nijika/https.authelia.simponic.xyz.conf57
-rw-r--r--roles/webservers/tasks/main.yml3
5 files changed, 76 insertions, 3 deletions
diff --git a/roles/webservers/files/nginx.conf b/roles/webservers/files/nginx.conf
index 6ddd8ab..4d8402d 100644
--- a/roles/webservers/files/nginx.conf
+++ b/roles/webservers/files/nginx.conf
@@ -1,6 +1,8 @@
user www-data;
worker_processes 4;
pid /run/nginx.pid;
+load_module modules/ndk_http_module.so;
+load_module modules/ngx_http_set_misc_module.so;
events {
worker_connections 768;
diff --git a/roles/webservers/files/nijika/http.authelia.simponic.xyz.conf b/roles/webservers/files/nijika/http.authelia.simponic.xyz.conf
new file mode 100644
index 0000000..e57fbc6
--- /dev/null
+++ b/roles/webservers/files/nijika/http.authelia.simponic.xyz.conf
@@ -0,0 +1,13 @@
+server {
+ listen 80;
+ server_name authelia.simponic.xyz;
+
+ location /.well-known/acme-challenge {
+ root /var/www/letsencrypt;
+ try_files $uri $uri/ =404;
+ }
+
+ location / {
+ rewrite ^ https://authelia.simponic.xyz$request_uri? permanent;
+ }
+}
diff --git a/roles/webservers/files/nijika/http.headscale.simponic.xyz.conf b/roles/webservers/files/nijika/http.headscale.simponic.xyz.conf
index 7bfaf44..32b80b0 100644
--- a/roles/webservers/files/nijika/http.headscale.simponic.xyz.conf
+++ b/roles/webservers/files/nijika/http.headscale.simponic.xyz.conf
@@ -1,7 +1,5 @@
-server_tokens off;
-
server {
- listen 80 default_server;
+ listen 80;
server_name headscale.simponic.xyz;
location /.well-known/acme-challenge {
diff --git a/roles/webservers/files/nijika/https.authelia.simponic.xyz.conf b/roles/webservers/files/nijika/https.authelia.simponic.xyz.conf
new file mode 100644
index 0000000..7034b0b
--- /dev/null
+++ b/roles/webservers/files/nijika/https.authelia.simponic.xyz.conf
@@ -0,0 +1,57 @@
+server {
+ listen 443 ssl;
+ server_name authelia.simponic.xyz;
+
+ ssl_certificate /etc/letsencrypt/live/authelia.simponic.xyz/fullchain.pem;
+ ssl_certificate_key /etc/letsencrypt/live/authelia.simponic.xyz/privkey.pem;
+ ssl_trusted_certificate /etc/letsencrypt/live/authelia.simponic.xyz/fullchain.pem;
+
+ ssl_session_cache shared:SSL:50m;
+ ssl_session_timeout 5m;
+ ssl_stapling on;
+ ssl_stapling_verify on;
+
+ ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
+ ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
+
+ ssl_dhparam /etc/nginx/dhparams.pem;
+ ssl_prefer_server_ciphers on;
+
+ location / {
+ proxy_pass http://127.0.0.1:9091;
+
+ client_body_buffer_size 128k;
+
+ #Timeout if the real server is dead
+ proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
+
+ # Advanced Proxy Config
+ send_timeout 5m;
+ proxy_read_timeout 360;
+ proxy_send_timeout 360;
+ proxy_connect_timeout 360;
+
+ # Basic Proxy Config
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ proxy_set_header X-Forwarded-Host $http_host;
+ proxy_set_header X-Forwarded-Uri $request_uri;
+ proxy_set_header X-Forwarded-Ssl on;
+ proxy_redirect http:// $scheme://;
+ proxy_http_version 1.1;
+ proxy_set_header Connection "";
+ proxy_cache_bypass $cookie_session;
+ proxy_no_cache $cookie_session;
+ proxy_buffers 64 256k;
+
+ # If behind reverse proxy, forwards the correct IP
+ set_real_ip_from 10.0.0.0/8;
+ set_real_ip_from 172.0.0.0/8;
+ set_real_ip_from 192.168.0.0/16;
+ set_real_ip_from fc00::/7;
+ real_ip_header X-Forwarded-For;
+ real_ip_recursive on;
+ }
+}
diff --git a/roles/webservers/tasks/main.yml b/roles/webservers/tasks/main.yml
index 03fba22..fccd34e 100644
--- a/roles/webservers/tasks/main.yml
+++ b/roles/webservers/tasks/main.yml
@@ -17,6 +17,9 @@
- name: install nginx
apt: name=nginx state=latest
+- name: install libnginx-mod-http-set-misc
+ apt: name=libnginx-mod-http-set-misc state=latest
+
- name: install letsencrypt
apt: name=letsencrypt state=latest