diff options
author | Elizabeth Hunt <elizabeth.hunt@simponic.xyz> | 2024-01-03 14:21:07 -0500 |
---|---|---|
committer | Elizabeth Hunt <elizabeth.hunt@simponic.xyz> | 2024-01-03 14:21:07 -0500 |
commit | 4fd1ae556ec5d9a94f9ca73884a756ca21e1769f (patch) | |
tree | 9aaee24b591cb1bf0b3c3c797b98339ca7743d3c /roles/webservers/files | |
parent | 562df598d0303b17e0b040411507f52f3b40d967 (diff) | |
download | oldinfra-4fd1ae556ec5d9a94f9ca73884a756ca21e1769f.tar.gz oldinfra-4fd1ae556ec5d9a94f9ca73884a756ca21e1769f.zip |
deploy webservers behind reverse proxy (added poc for headscale)
Diffstat (limited to 'roles/webservers/files')
-rw-r--r-- | roles/webservers/files/levi/.gitkeep | 0 | ||||
-rw-r--r-- | roles/webservers/files/nginx.conf | 26 | ||||
-rw-r--r-- | roles/webservers/files/nijika/headscale.simponic.xyz | 48 | ||||
-rw-r--r-- | roles/webservers/files/nijika/http.headscale.simponic.xyz.conf | 15 | ||||
-rw-r--r-- | roles/webservers/files/nijika/https.headscale.simponic.xyz.conf | 46 |
5 files changed, 87 insertions, 48 deletions
diff --git a/roles/webservers/files/levi/.gitkeep b/roles/webservers/files/levi/.gitkeep new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/roles/webservers/files/levi/.gitkeep diff --git a/roles/webservers/files/nginx.conf b/roles/webservers/files/nginx.conf new file mode 100644 index 0000000..6ddd8ab --- /dev/null +++ b/roles/webservers/files/nginx.conf @@ -0,0 +1,26 @@ +user www-data; +worker_processes 4; +pid /run/nginx.pid; + +events { + worker_connections 768; +} + +http { + sendfile on; + tcp_nopush on; + tcp_nodelay on; + keepalive_timeout 65; + types_hash_max_size 2048; + include /etc/nginx/mime.types; + default_type application/octet-stream; + + access_log /var/log/nginx/access.log; + error_log /var/log/nginx/error.log; + + gzip on; + gzip_disable "msie6"; + + include /etc/nginx/conf.d/*.conf; + include /etc/nginx/sites-enabled/*; +} diff --git a/roles/webservers/files/nijika/headscale.simponic.xyz b/roles/webservers/files/nijika/headscale.simponic.xyz deleted file mode 100644 index 442a2ac..0000000 --- a/roles/webservers/files/nijika/headscale.simponic.xyz +++ /dev/null @@ -1,48 +0,0 @@ -server { - server_name headscale.simponic.xyz; - - location /web { - proxy_pass https://127.0.0.1:9443; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection $connection_upgrade; - proxy_set_header Host $server_name; - proxy_redirect http:// https://; - proxy_buffering off; - 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 $http_x_forwarded_proto; - add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always; - } - - location / { - proxy_pass https://127.0.0.1:27896; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection $connection_upgrade; - proxy_set_header Host $server_name; - proxy_redirect http:// https://; - proxy_buffering off; - 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 $http_x_forwarded_proto; - add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always; - } - - listen 443 ssl; # managed by Certbot - ssl_certificate /etc/letsencrypt/live/headscale.simponic.xyz/fullchain.pem; # managed by Certbot - ssl_certificate_key /etc/letsencrypt/live/headscale.simponic.xyz/privkey.pem; # managed by Certbot - include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot - ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot - keepalive_timeout 70; -} - -server { - if ($host = headscale.simponic.xyz) { - return 301 https://$host$request_uri; - } # managed by Certbot - - server_name headscale.simponic.xyz; - listen 80; - return 404; # managed by Certbot -} diff --git a/roles/webservers/files/nijika/http.headscale.simponic.xyz.conf b/roles/webservers/files/nijika/http.headscale.simponic.xyz.conf new file mode 100644 index 0000000..7bfaf44 --- /dev/null +++ b/roles/webservers/files/nijika/http.headscale.simponic.xyz.conf @@ -0,0 +1,15 @@ +server_tokens off; + +server { + listen 80 default_server; + server_name headscale.simponic.xyz; + + location /.well-known/acme-challenge { + root /var/www/letsencrypt; + try_files $uri $uri/ =404; + } + + location / { + rewrite ^ https://headscale.simponic.xyz$request_uri? permanent; + } +} diff --git a/roles/webservers/files/nijika/https.headscale.simponic.xyz.conf b/roles/webservers/files/nijika/https.headscale.simponic.xyz.conf new file mode 100644 index 0000000..b078672 --- /dev/null +++ b/roles/webservers/files/nijika/https.headscale.simponic.xyz.conf @@ -0,0 +1,46 @@ +server { + listen 443 ssl; + server_name headscale.simponic.xyz; + + ssl_certificate /etc/letsencrypt/live/headscale.simponic.xyz/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/headscale.simponic.xyz/privkey.pem; + ssl_trusted_certificate /etc/letsencrypt/live/headscale.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 /web { + proxy_pass https://127.0.0.1:9443; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $server_name; + proxy_redirect http:// https://; + proxy_buffering off; + 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 $http_x_forwarded_proto; + add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always; + } + + location / { + proxy_pass http://127.0.0.1:27896; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $server_name; + proxy_buffering off; + 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 $http_x_forwarded_proto; + add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always; + } +} |