diff --git a/config/nginx.conf b/config/nginx.conf new file mode 100644 index 0000000..02f14a1 --- /dev/null +++ b/config/nginx.conf @@ -0,0 +1,177 @@ +server { + listen 80 default_server; + listen [::]:80 default_server; + + root /var/www/html; + + index index.html index.htm index.nginx-debian.html; + + server_name _; + + location / { + try_files $uri $uri/ =404; + } +} + +server { + root /var/www/html; + + index index.html index.htm index.nginx-debian.html; + server_name playmancala.app; # managed by Certbot + + location / { + proxy_pass http://localhost:3000; + } + + listen [::]:443 ssl ipv6only=on; # managed by Certbot + listen 443 ssl; # managed by Certbot + ssl_certificate /etc/letsencrypt/live/playmancala.app/fullchain.pem; # managed by Certbot + ssl_certificate_key /etc/letsencrypt/live/playmancala.app/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 + +} + +server { + if ($host = playmancala.app) { + return 301 https://$host$request_uri; + } # managed by Certbot + + listen 80 ; + listen [::]:80 ; + server_name playmancala.app; + return 404; # managed by Certbot +} + +server { + root /var/www/html; + + index index.html index.htm index.nginx-debian.html; + server_name api.playmancala.app; # managed by Certbot + + location / { + proxy_pass http://localhost:5000; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + + # WebSocket support + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + } + + listen [::]:443 ssl; # managed by Certbot + listen 443 ssl; # managed by Certbot + ssl_certificate /etc/letsencrypt/live/api.playmancala.app/fullchain.pem; # managed by Certbot + ssl_certificate_key /etc/letsencrypt/live/api.playmancala.app/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 +} + +server { + if ($host = api.playmancala.app) { + return 301 https://$host$request_uri; + } # managed by Certbot + + listen 80 ; + listen [::]:80 ; + server_name api.playmancala.app; + return 404; # managed by Certbot +} + +server { + root /var/www/html; + + index index.html index.htm index.nginx-debian.html; + server_name auth.playmancala.app; # managed by Certbot + + + location / { + try_files $uri $uri/ =404; + } + + listen [::]:443 ssl; # managed by Certbot + listen 443 ssl; # managed by Certbot + ssl_certificate /etc/letsencrypt/live/auth.playmancala.app/fullchain.pem; # managed by Certbot + ssl_certificate_key /etc/letsencrypt/live/auth.playmancala.app/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 + +} + +server { + if ($host = auth.playmancala.app) { + return 301 https://$host$request_uri; + } # managed by Certbot + + listen 80 ; + listen [::]:80 ; + server_name auth.playmancala.app; + return 404; # managed by Certbot +} + +server { + root /var/www/html; + + index index.html index.htm index.nginx-debian.html; + server_name ci.playmancala.app; # managed by Certbot + + location / { + proxy_pass http://localhost:8090; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + + listen [::]:443 ssl; # managed by Certbot + listen 443 ssl; # managed by Certbot + ssl_certificate /etc/letsencrypt/live/ci.playmancala.app/fullchain.pem; # managed by Certbot + ssl_certificate_key /etc/letsencrypt/live/ci.playmancala.app/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 +} + +server { + if ($host = ci.playmancala.app) { + return 301 https://$host$request_uri; + } # managed by Certbot + + listen 80 ; + listen [::]:80 ; + server_name ci.playmancala.app; + return 404; # managed by Certbot + +} + +server { + root /var/www/html; + + index index.html index.htm index.nginx-debian.html; + server_name code.playmancala.app; # managed by Certbot + + client_max_body_size 50m; + location / { + proxy_pass http://localhost:4000; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + + listen [::]:443 ssl; # managed by Certbot + listen 443 ssl; # managed by Certbot + ssl_certificate /etc/letsencrypt/live/code.playmancala.app/fullchain.pem; # managed by Certbot + ssl_certificate_key /etc/letsencrypt/live/code.playmancala.app/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 +} + +server { + if ($host = code.playmancala.app) { + return 301 https://$host$request_uri; + } # managed by Certbot + + listen [::]:80 ; + server_name code.playmancala.app; + return 404; # managed by Certbot +} \ No newline at end of file