worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; gzip on; gzip_vary on; gzip_min_length 1k; gzip_proxied expired no-cache no-store private auth; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 2; gzip_types text/plain application/x-javascript application/javascript text/css application/xml application/json; map $sent_http_content_type $expires { default off; text/css 15m; application/javascript 15m; ~image/ 15m; } server{ server_name jozanofastora.xyz www.jozanofastora.xyz; root /usr/local/www/jozan; index index.html; expires $expires; location / { try_files $uri $uri/ =404; } location ~ /\.ht { deny all; } error_page 403 /403.html; location = /403.html { root /usr/local/www/jozan/err; } error_page 404 /404.html; location = /404.html { root /usr/local/www/jozan/err; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/local/www/nginx-dist; } listen 443 ssl; # managed by Certbot ssl_certificate /usr/local/etc/letsencrypt/live/jozanofastora.xyz-0001/fullchain.pem; # managed by Certbot ssl_certificate_key /usr/local/etc/letsencrypt/live/jozanofastora.xyz-0001/privkey.pem; # managed by Certbot include /usr/local/etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /usr/local/etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } server{ server_name gitjoe.xyz www.gitjoe.xyz git.jozanofastora.xyz; expires $expires; root /usr/local/www/gitjoe; index index.html; location / { try_files $uri $uri/ =404; } location ~ /\.ht { deny all; } location @jozan { include fastcgi_params; root /usr/local/www/gitjoe/jozan; try_files $uri @jozan; index cgit.cgi; fastcgi_param SCRIPT_FILENAME $document_root/cgit.cgi; fastcgi_param PATH_INFO $uri; fastcgi_param QUERY_STRING $args; fastcgi_param HTTP_HOST $server_name; fastcgi_param CGIT_CONFIG /usr/local/etc/cgitusers/jozan; fastcgi_pass unix:/var/run/fcgiwrap/fcgiwrap.sock; gzip off; #rewrite ^ https://$server_name$request_uri permanent; rewrite ^/([^/]+/.*)?$ /cgit.cgi?url=$1 break; } error_page 403 /403.html; location = /403.html { root /usr/local/www/gitjoe/err; } error_page 404 /404.html; location = /404.html { root /usr/local/www/gitjoe/err; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/local/www/nginx-dist; } listen 443 ssl; # managed by Certbot ssl_certificate /usr/local/etc/letsencrypt/live/jozanofastora.xyz-0001/fullchain.pem; # managed by Certbot ssl_certificate_key /usr/local/etc/letsencrypt/live/jozanofastora.xyz-0001/privkey.pem; # managed by Certbot include /usr/local/etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /usr/local/etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } server { listen 80; server_name cgit.gitjoe.xyz; root /usr/local/www/cgit; try_files $uri @cgit; index cgit.cgi; location @cgit { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/cgit.cgi; fastcgi_param PATH_INFO $uri; fastcgi_param QUERY_STRING $args; fastcgi_param HTTP_HOST $server_name; fastcgi_param CGIT_CONFIG /usr/local/etc/cgitrc; fastcgi_pass unix:/var/run/fcgiwrap/fcgiwrap.sock; gzip off; #rewrite ^ https://$server_name$request_uri permanent; rewrite ^/([^/]+/.*)?$ /cgit.cgi?url=$1 break; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/local/www/nginx-dist; } } server { server_name fossil.jozanofastora.xyz; index index.html; root /usr/local/www/fossiljoe; # Bypass Fossil for the static documentation generated from # our source code by Doxygen, so it merges into the embedded # doc URL hierarchy at Fossil’s $ROOT/doc without requiring that # these generated files actually be stored in the repo. This # also lets us set aggressive caching on these docs, since # they rarely change. location /code/doc/html { root /usr/local/www/fossiljoe; location ~* \.(html|ico|css|js|gif|jpg|png)$ { expires 7d; add_header Vary Accept-Encoding; access_log off; } } # Redirect everything else to the Fossil instance location /code { include scgi_params; scgi_param SCRIPT_NAME "/code"; scgi_pass 127.0.0.1:12345; } listen 443 ssl; # managed by Certbot ssl_certificate /usr/local/etc/letsencrypt/live/jozanofastora.xyz-0001/fullchain.pem; # managed by Certbot ssl_certificate_key /usr/local/etc/letsencrypt/live/jozanofastora.xyz-0001/privkey.pem; # managed by Certbot include /usr/local/etc/letsencrypt/options-ssl-nginx.conf; # managed by Ce/srvrtbot ssl_dhparam /usr/local/etc/letsencrypt/ssl-dhparams.pem; # managed by Cert/srvbot } server{ if ($host = git.jozanofastora.xyz) { return 301 https://gitjoe.xyz$request_uri; } # managed by Certbot if ($host = www.gitjoe.xyz) { return 301 https://gitjoe.xyz$request_uri; } # managed by Certbot if ($host = gitjoe.xyz) { return 301 https://$host$request_uri; } # managed by Certbot server_name gitjoe.xyz www.gitjoe.xyz git.jozanofastora.xyz; listen 80; return 404; # managed by Certbot } server{ if ($host = www.jozanofastora.xyz) { return 301 https://jozanofastora.xyz$request_uri; } # managed by Certbot if ($host = jozanofastora.xyz) { return 301 https://$host$request_uri; } # managed by Certbot server_name jozanofastora.xyz www.jozanofastora.xyz; listen 80; return 404; # managed by Certbot } server { if ($host = fossil.jozanofastora.xyz) { return 301 https://$host$request_uri; } # managed by Certbot server_name fossil.jozanofastora.xyz; listen 80; return 404; # managed by Certbot } }