Aller au contenu

Proxy HTTP/S

La configuration du proxy est pour l'instant manuelle.
Elle doit impérativement être faite avant de lancer le script d'installation de l'application.

Configuration dans la VM

Modifier le fichier /etc/environment afin qu'il contienne la configuration proxy :

export http_proxy=http://mon.proxy:port
export https_proxy=http://mon.proxy:port
export no_proxy=localhost,127.0.0.1

Remarque : Le manifeste étant téléchargé depuis l'instance, il ne peut pas contenir la configuration proxy car l'instance a besoin d'avoir un accès internet, via le proxy donc, pour récupérer le manifeste.

Développement

Instructions pour se retrouver dans une configuration similaire en dev.

Bloquer l'accès standard à internet

Dans la Vagrant, installer et configurer un firewall.

Le plus rapide est d'installer ufw qui est un firewall plus simple que iptables utilisé en production, puis de le configurer pour qu'il bloque tous les accès sortants HTTP/S et DNS :

sudo apt-get install -y ufw
sudo ufw allow ssh 
sudo ufw deny out https
sudo ufw deny out http
sudo ufw deny out dns
sudo ufw enable

Installer un proxy HTTP/S

En local, sur le poste de développement faisant tourner Vagrant (MacOS, Ubuntu ou Windows), installer et configurer un proxy, par exemple squid sous Ubuntu :

sudo apt-get install -y squid

Configuration du proxy HTTPS

Dans la Vagrant, récupérer l'IP de la machine accueillante (host) sur laquelle a été installé le proxy à l'aide de la commande :

ip route

Ce qui permet de déduire l'IP de la machine accueillante, ici 10.0.2.2 :

default via 10.0.2.2 dev enp0s3 
10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.15 
169.254.0.0/16 dev enp0s3 scope link metric 1000 
192.168.56.0/24 dev enp0s8 proto kernel scope link src 192.168.56.149 

Pour terminer, effectuer la modification décrite dans la première partie du document pour configurer la Vagrant, en modifiant le fichier /etc/environment afin qu'il contienne la configuration proxy :

export http_proxy=http://10.0.2.2:3128
export https_proxy=http://10.0.2.2:3128

Note

le port 3128 est spécifique au proxy squid utilisé dans l'exemple. Se référer à la documentation de chaque proxy pour utiliser le port attendu.