4520 shaares
5 résultats
taggé
proxy
L'idée est de comprendre les bases du mode reverse proxy de nginx. Pour moi, c'est le mécanisme d'url rewriting qui est le plus intéressant sachant sur les liens dans les pages doivent eux-aussi êtres réécrits.
Concept
Vous avez un nom de domaine (genre localhost) et vous souhaitez rediriger le sous-domaine http://scm.localhost vers le serveur local qui tourne sur le port 8001 et http://ci.localhost vers le port 8002.
Voici comment faire avec Nginx :
- Le fichier est à créer dans /etc/nginx/site-available
- Puis il faut créer un lien symbolique dans /etc/nginx/site-enable pointant vers votre fichier de conf.
## Redirige le sous-domain SCM vers le port 8001
server{
server_name scm.localhost;
location / {
proxy_pass http ://127.0.0.1:8001; # ATTENTION : j'ai ajouté un espace entre http et :// car mon parseur Markdown déconne
}
}
## Redirige le sous-domain CI vers le port 8002
server{
server_name ci.localhost;
location / {
proxy_pass http ://127.0.0.1:8002; # ATTENTION : j'ai ajouté un espace entre http et :// car mon parseur Markdown déconne
}
}
Deux choses que j'ai dues faire de mon côté :
1) Définir les variables suivantes dans votre fichier ~/.profile :
LOGIN="votre login"
PASSW="votre password"
PROXY_HOME="l'url du proxy"
PROXY_PORT="8080"
PROTOCOL="http:"
# En version HTTP (minuscule et majuscule car il faut les deux parfois) :
export http_proxy="${PROTOCOL}//${USER_LOGIN}:${USER_PASSW}@${PROXY_HOST}:${PROXY_PORT}"
export HTTP_PROXY="${PROTOCOL}//${USER_LOGIN}:${USER_PASSW}@${PROXY_HOST}:${PROXY_PORT}"
# En version HTTPS (minuscule et majuscule car il faut les deux parfois) :
export https_proxy="${PROTOCOL}//${USER_LOGIN}:${USER_PASSW}@${PROXY_HOST}:${PROXY_PORT}"
export HTTPS_PROXY="${PROTOCOL}//${USER_LOGIN}:${USER_PASSW}@${PROXY_HOST}:${PROXY_PORT}"
2) Ouvrir ou créer le fichier /etc/apt/apt.conf.d/proxy et y coller la ligne :
# ATTENTION, j'ai ajouté deux espaces entre "http:" et "//" parce que mon parser markdow faisait du caca. Ces espaces sont à supprimer
Acquire::http::Proxy "http: //USER_LOGIN:USER_PASSW@PROXY_HOST:PROXY_PORT";
Editer ou créer le fichier /etc/apt/apt.conf et ajouter les lignes suivantes en les adaptant :
Acquire::http::proxy "http://myname:mypass@localhost:5865/";
Acquire::ftp::proxy "ftp://myname:mypass@localhost:5865/";