diff --git a/README.md b/README.md index 6b92116..2245a79 100644 --- a/README.md +++ b/README.md @@ -1 +1,11 @@ -# Minzkrauts home-made CTF \ No newline at end of file +# Minzkrauts home-made CTF + +## Letsencrypt certificates +Navigate to certbot location and create certificate files with +``` +sudo ./certbot-auto certonly --webroot -w var/www/html -d ctf.minzkraut.com --non-interactive --agree-tos --email {email} +``` +Renew certificates and reload nginx with +``` +sudo ./certbot-auto renew --webroot -w /var/www/html --post-hook "service nginx reload" +``` \ No newline at end of file diff --git a/nginx_configs/ctf b/nginx_configs/ctf new file mode 100644 index 0000000..191d2bd --- /dev/null +++ b/nginx_configs/ctf @@ -0,0 +1,86 @@ +## +# You should look at the following URL's in order to grasp a solid understanding +# of Nginx configuration files in order to fully unleash the power of Nginx. +# http://wiki.nginx.org/Pitfalls +# http://wiki.nginx.org/QuickStart +# http://wiki.nginx.org/Configuration +# +# Generally, you will want to move this file somewhere, and start with a clean +# file but keep this around for reference. Or just disable in sites-enabled. +# +# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples. +## + +# Default server configuration +# +server { + listen 80; + listen [::]:80; + server_name ctf.minzkraut.com; + return 301 https://$host$request_uri; +} +server { + listen 443 ssl; + listen [::]:443 ssl; + # SSL configuration + # + # listen 443 ssl default_server; + # listen [::]:443 ssl default_server; + # + # Self signed certs generated by the ssl-cert package + # Don't use them in a production server! + # + # include snippets/snakeoil.conf; + ssl_certificate /etc/letsencrypt/live/ctf.minzkraut.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/ctf.minzkraut.com/privkey.pem; + root /var/www/html; + + # Add index.php to the list if you are using PHP + index index.html index.htm index.nginx-debian.html; + + server_name ctf.minzkraut.com; + + location / { + # First attempt to serve request as file, then + # as directory, then fall back to displaying a 404. + try_files $uri $uri/ =404; + } + + # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 + # + #location ~ \.php$ { + # include snippets/fastcgi-php.conf; + # + # # With php5-cgi alone: + # fastcgi_pass 127.0.0.1:9000; + # # With php5-fpm: + # fastcgi_pass unix:/var/run/php5-fpm.sock; + #} + + # deny access to .htaccess files, if Apache's document root + # concurs with nginx's one + # + #location ~ /\.ht { + # deny all; + #} +} + + +# Virtual Host configuration for example.com +# +# You can move that to a different file under sites-available/ and symlink that +# to sites-enabled/ to enable it. +# +#server { +# listen 80; +# listen [::]:80; +# +# server_name example.com; +# +# root /var/www/example.com; +# index index.html; +# +# location / { +# try_files $uri $uri/ =404; +# } +#}