oc_mlops_projet_3 / nginx.conf
CedM's picture
DΓ©ploiement automatique depuis GitLab CI
c2d97f9 verified
Raw
History Blame Contribute Delete
2.26 kB
# nginx.conf β€” Reverse proxy devant Streamlit pour HF Spaces
#
# RΓ΄le :
# - Γ‰coute sur le port public 7860 (requis par HF Spaces)
# - Proxie vers Streamlit sur le port interne 7861
# - Supprime X-Frame-Options pour autoriser l'embedding dans l'iframe HF Spaces
# - Ajoute Content-Security-Policy: frame-ancestors * pour les navigateurs modernes
#
# Non-root : tous les fichiers temporaires pointent vers /tmp (accessible Γ  UID 1000)
worker_processes 1;
pid /tmp/nginx.pid;
error_log /tmp/nginx_error.log warn;
daemon off;
events {
worker_connections 1024;
}
http {
access_log off;
# Chemins temporaires accessibles Γ  l'utilisateur non-root (UID 1000)
client_body_temp_path /tmp/nginx_client_body;
proxy_temp_path /tmp/nginx_proxy;
fastcgi_temp_path /tmp/nginx_fastcgi;
uwsgi_temp_path /tmp/nginx_uwsgi;
scgi_temp_path /tmp/nginx_scgi;
server {
listen 7860;
# ── WebSocket Streamlit (/_stcore/stream) ──────────────────────────
location /_stcore/stream {
proxy_pass http://127.0.0.1:7861;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
}
# ── Toutes les autres requΓͺtes HTTP ────────────────────────────────
location / {
proxy_pass http://127.0.0.1:7861;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# Autoriser l'iframe depuis n'importe quelle origine (HF Spaces)
proxy_hide_header X-Frame-Options;
add_header Content-Security-Policy "frame-ancestors *" always;
}
}
}