====== Nginx ======
server {
listen 443;
server_name mon-domaine.com;
ssl on;
ssl_certificate /etc/nginx/ssl/mon-domaine.com.pem;
ssl_certificate_key /etc/nginx/ssl/mon-domaine.com.key;
ssl_session_cache shared:SSL:10m;
# config pour un chemin spécifique
location /mon-repertoire {
proxy_set_header Accept-Encoding "";
# sub_filter permet de modifier un texte dans le fichier html renvoyé par nginx
sub_filter_once off;
sub_filter "http://mon-url-interne/" "https://mon-url-externe.com/";
proxy_pass http://mon-server-interne/mon-repertoire;
# forcer à être en https
proxy_redirect http:// https://;
}
# config pour le reste des chemin
location / {
# pour les websocket c'est mieux de spécifier la version du proxy
proxy_http_version 1.1;
proxy_pass http://mon-server-interne:3000/;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
server {
listen 80 default;
server_name test.local;
location / {
# permet de transmettre l'ip réel au serveur interne
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
# sur une certaine condition...
if ($request_body ~* ^(.*)\.test) {
proxy_pass http://www.google.de;
break;
}
root /srv/http;
}
}