events { worker_connections 1024; } http { server_tokens off; charset utf-8; upstream minioUI { least_conn; server minio:9001; } upstream minioAPI { least_conn; server minio:9000; } # upstream fastAPI { # least_conn; # server api:8080; # } #================App Server================ server { listen 80; server_name app.mzansi-innovation-hub.co.za; #Web App location / { proxy_pass http://MIH-UX:83/; } location ~ /.well-known/acme-challenge/ { root /var/www/certbot; } # return 301 https://app.mzansi-innovation-hub.co.za$request_uri; } # server { # listen 443 ssl; # http2 on; # # use the certificates # ssl_certificate /etc/letsencrypt/live/app.mzansi-innovation-hub.co.za/fullchain.pem; # ssl_certificate_key /etc/letsencrypt/live/app.mzansi-innovation-hub.co.za/privkey.pem; # server_name app.mzansi-innovation-hub.co.za; # root /var/www/html; # index index.php index.html index.htm; # # To allow special characters in headers # ignore_invalid_headers off; # # Allow any size file to be uploaded. # # Set to a value such as 1000m; to restrict file size to a specific value # client_max_body_size 0; # # To disable buffering # proxy_buffering off; # proxy_request_buffering off; # # Web App # location / { # proxy_pass http://MIH-UX:83/; # } # location ~ /.well-known/acme-challenge/ { # root /var/www/certbot; # } # } #================API Server================ server { listen 80; server_name api.mzansi-innovation-hub.co.za; #Fast API location / { proxy_pass http://MIH-API-Hub:8080/; } location ~ /.well-known/acme-challenge/ { root /var/www/certbot; } # return 301 https://api.mzansi-innovation-hub.co.za$request_uri; } # server { # listen 443 ssl; # http2 on; # # use the certificates # ssl_certificate /etc/letsencrypt/live/app.mzansi-innovation-hub.co.za/fullchain.pem; # ssl_certificate_key /etc/letsencrypt/live/app.mzansi-innovation-hub.co.za/privkey.pem; # server_name api.mzansi-innovation-hub.co.za; # root /var/www/html; # index index.php index.html index.htm; # # To allow special characters in headers # ignore_invalid_headers off; # # Allow any size file to be uploaded. # # Set to a value such as 1000m; to restrict file size to a specific value # client_max_body_size 0; # # To disable buffering # proxy_buffering off; # proxy_request_buffering off; # # Web Api # location / { # proxy_pass http://MIH-API-Hub:80/; # } # location ~ /.well-known/acme-challenge/ { # root /var/www/certbot; # } # } #================AI Server================ server { listen 80; server_name ai.mzansi-innovation-hub.co.za; # #Web App location / { proxy_pass http://MIH-API-Hub:8080/; } location ~ /.well-known/acme-challenge/ { root /var/www/certbot; } # return 301 https://ai.mzansi-innovation-hub.co.za$request_uri; } # server { # listen 443 ssl; # http2 on; # # use the certificates # ssl_certificate /etc/letsencrypt/live/app.mzansi-innovation-hub.co.za/fullchain.pem; # ssl_certificate_key /etc/letsencrypt/live/app.mzansi-innovation-hub.co.za/privkey.pem; # server_name ai.mzansi-innovation-hub.co.za; # root /var/www/html; # index index.php index.html index.htm; # # To allow special characters in headers # ignore_invalid_headers off; # # Allow any size file to be uploaded. # # Set to a value such as 1000m; to restrict file size to a specific value # client_max_body_size 0; # # To disable buffering # proxy_buffering off; # proxy_request_buffering off; # # Web Api # location / { # # Handle preflight OPTIONS requests # # if ($request_method = OPTIONS ) { # # # Add CORS headers for preflight request # # add_header 'Access-Control-Allow-Origin' 'https://app.mzansi-innovation-hub.co.za' always; # # # add_header 'Access-Control-Allow-Credentials' 'true' always; # # add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always; # # add_header 'Access-Control-Allow-Headers' '*'; # # add_header 'Access-Control-Max-Age' 1728000; # # return 204; # # } # # add_header 'Access-Control-Allow-Origin' 'https://app.mzansi-innovation-hub.co.za' always; # # # add_header 'Access-Control-Allow-Credentials' 'true' always; # # # add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always # # add_header 'Access-Control-Allow-Headers' '*'; # proxy_pass http://MIH-AI:11434/; # # 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; # } # location ~ /.well-known/acme-challenge/ { # root /var/www/certbot; # } # } #================Monitor Server================ server { listen 80; server_name monitor.mzansi-innovation-hub.co.za; # #Web App location / { proxy_pass http://MIH-Monitor:9443/; } location ~ /.well-known/acme-challenge/ { root /var/www/certbot; } # return 301 https://monitor.mzansi-innovation-hub.co.za$request_uri; } # server { # listen 443 ssl; # http2 on; # # use the certificates # ssl_certificate /etc/letsencrypt/live/app.mzansi-innovation-hub.co.za/fullchain.pem; # ssl_certificate_key /etc/letsencrypt/live/app.mzansi-innovation-hub.co.za/privkey.pem; # server_name monitor.mzansi-innovation-hub.co.za; # root /var/www/html; # index index.php index.html index.htm; # # To allow special characters in headers # ignore_invalid_headers off; # # Allow any size file to be uploaded. # # Set to a value such as 1000m; to restrict file size to a specific value # client_max_body_size 0; # # To disable buffering # proxy_buffering off; # proxy_request_buffering off; # # Web Api # location / { # proxy_pass http://MIH-Monitor:9443/; # } # location ~ /.well-known/acme-challenge/ { # root /var/www/certbot; # } # } #================File Server================ server { listen 80; server_name minio.mzansi-innovation-hub.co.za; #Web App location / { proxy_pass https://minioAPI; } location ~ /.well-known/acme-challenge/ { root /var/www/certbot; } # return 301 https://minio.mzansi-innovation-hub.co.za$request_uri; } # server { # listen 443 ssl; # http2 on; # # use the certificates # ssl_certificate /etc/letsencrypt/live/app.mzansi-innovation-hub.co.za/fullchain.pem; # ssl_certificate_key /etc/letsencrypt/live/app.mzansi-innovation-hub.co.za/privkey.pem; # server_name minio.mzansi-innovation-hub.co.za; # root /var/www/html; # index index.php index.html index.htm; # # To allow special characters in headers # ignore_invalid_headers off; # # Allow any size file to be uploaded. # # Set to a value such as 1000m; to restrict file size to a specific value # client_max_body_size 0; # # To disable buffering # proxy_buffering off; # proxy_request_buffering off; # location / { # proxy_set_header Host $http_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_connect_timeout 300; # # Default is HTTP/1, keepalive is only enabled in HTTP/1.1 # proxy_http_version 1.1; # proxy_set_header Connection ""; # chunked_transfer_encoding off; # proxy_pass http://MIH-Minio:9000; # This uses the upstream directive definition to load balance # } # location /minio/ui/ { # rewrite ^/minio/ui/(.*) /$1 break; # proxy_set_header Host $http_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-NginX-Proxy true; # # This is necessary to pass the correct IP to be hashed # real_ip_header X-Real-IP; # proxy_connect_timeout 300; # # To support websockets in MinIO versions released after January 2023 # proxy_http_version 1.1; # proxy_set_header Upgrade $http_upgrade; # proxy_set_header Connection "upgrade"; # # Some environments may encounter CORS errors (Kubernetes + Nginx Ingress) # # Uncomment the following line to set the Origin request to an empty string # proxy_set_header Origin ''; # chunked_transfer_encoding off; # proxy_pass http://MIH-Minio:9001; # This uses the upstream directive definition to load balance # } # location ~ /.well-known/acme-challenge/ { # root /var/www/certbot; # } # } }