--- a +++ b/production/nginx/default.conf @@ -0,0 +1,96 @@ +# Change hash bucket size, because of large number of server names are defined +server_names_hash_bucket_size 128; + +# Redirect http requests to the https +server { + listen 80; + server_name example.com www.example.com; + access_log off; + + return 301 https://example.com$request_uri; +} + +# Redirect https requests of the example.com domain to the 8501 port of ui server +server { + listen 443 ssl; + server_name example.com www.example.com; + access_log off; + + ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; + ssl_trusted_certificate /etc/letsencrypt/live/example.com/fullchain.pem; + + proxy_http_version 1.1; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + + # streamlit specific: + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_read_timeout 86400; + + # Reverse proxy to ui:8501 + location / { + proxy_pass http://ui:8501; + } +} + +# Redirect http requests to the https +server { + listen 80; + server_name api.example.com; + access_log off; + + return 301 https://api.example.com$request_uri; +} + +# Redirect https requests of the api.example.com domain to the 5005 port of rasa server +server { + listen 443 ssl; + server_name api.example.com; + access_log off; + + ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; + ssl_trusted_certificate /etc/letsencrypt/live/example.com/fullchain.pem; + + # Reverse proxy to rasa:5005 + location / { + proxy_pass http://rasa:5005; + } +} + +# Redirect http requests to the https +server { + listen 80; + server_name monitoring.example.com; + access_log off; + + return 301 https://monitoring.example.com$request_uri; +} + +# Redirect https requests of the monitoring.example.com domain to the 8501 port of monitoring server +server { + listen 443 ssl; + server_name monitoring.example.com; + access_log off; + + ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; + ssl_trusted_certificate /etc/letsencrypt/live/example.com/fullchain.pem; + + proxy_http_version 1.1; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $host; + + # streamlit specific: + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_read_timeout 86400; + + # Reverse proxy to rasa:5005 + location / { + proxy_pass http://monitoring:8501; + } +} +