Retour au blog

Configuration des Proxys sous Windows et Linux : Le Guide Complet 2025

195+ стран

📅13 novembre 2025

Dans cette série d'articles : Guide complet sur la configuration des serveurs proxy dans les systèmes d'exploitation Windows 10/11 et Linux (Ubuntu, Debian, CentOS). Vous découvrirez toutes les méthodes de configuration — de l'interface graphique à la ligne de commande, en passant par le registre, les variables d'environnement, les fichiers PAC et la configuration automatique. Le contenu est à jour pour 2025, tenant compte des dernières mises à jour des systèmes d'exploitation.

🪟 Introduction : Pourquoi configurer un proxy sous Windows

La configuration d'un serveur proxy sous Windows est une compétence essentielle pour travailler dans des réseaux d'entreprise, contourner les restrictions géographiques, protéger la confidentialité et automatiser le web scraping. En 2025, Windows offre de nombreuses méthodes de configuration, de la simple interface graphique aux outils puissants en ligne de commande.

Scénarios d'utilisation principaux du proxy sous Windows

🏢 Réseaux d'entreprise

La plupart des entreprises exigent l'utilisation d'un proxy d'entreprise pour l'accès à Internet, le contrôle du trafic et la sécurité.

🔒 Confidentialité

L'utilisation d'un proxy permet de masquer l'adresse IP réelle, de protéger les données personnelles et de contourner les restrictions régionales.

⚙️ Automatisation

Pour le web scraping, l'analyse de données et les tests automatisés, les proxys sont nécessaires pour la rotation des IP et le contournement des limitations.

🌍 Géolocalisation

Accès au contenu depuis différents pays pour les tests, la surveillance des prix et la vérification de la disponibilité des services.

✅ Ce que vous apprendrez dans cette partie

  • Configuration du proxy via l'interface graphique de Windows 10 et 11
  • Utilisation du panneau de configuration classique
  • Travail avec le registre Windows pour une configuration fine
  • Automatisation via PowerShell et l'invite de commande
  • Configuration des variables d'environnement
  • Configuration du proxy pour des applications spécifiques

🎨 Configuration du proxy dans Windows 11 via l'interface graphique

Windows 11 propose une interface de paramètres mise à jour avec une navigation améliorée. En 2025, cette méthode est la plus simple et recommandée pour la majorité des utilisateurs.

Instructions étape par étape

Étape 1 : Ouvrir les paramètres

Appuyez sur Windows + I ou ouvrez le menu Démarrer et sélectionnez l'icône d'engrenage (Paramètres).

💡 Conseil : Vous pouvez également faire un clic droit sur l'icône réseau dans la barre des tâches et sélectionner "Paramètres réseau".

Étape 2 : Accéder aux paramètres du proxy

Dans la fenêtre Paramètres, sélectionnez :

  1. Réseau et Internet (Network & Internet) dans le panneau de gauche
  2. Faites défiler vers le bas et sélectionnez Proxy (Proxy)

Étape 3 : Choisir la méthode de configuration

Windows 11 propose trois façons de configurer le proxy :

🔄 Détection automatique

Activé par défaut. Windows tente de détecter automatiquement les paramètres proxy via DHCP ou DNS.

📜 Utiliser un script de configuration

Pour les fichiers PAC (Proxy Auto-Config). Entrez l'URL du script de configuration.

⚙️ Configurer manuellement

La méthode la plus courante. Entrez manuellement l'adresse IP et le port du serveur proxy.

Étape 4 : Configuration manuelle du proxy

  1. Dans la section "Configurer manuellement", cliquez sur Configurer
  2. Activez le commutateur "Utiliser un serveur proxy"
  3. Entrez l'adresse IP ou le nom de domaine du serveur proxy
  4. Entrez le Port (généralement 8080, 3128, 80 ou autre)
  5. (Optionnel) Dans le champ "Ne pas utiliser le serveur proxy pour les adresses", ajoutez des exceptions
  6. Cliquez sur Enregistrer
Exemple de configuration :
Adresse du serveur proxy : 192.168.1.100
Port : 8080

Ne pas utiliser le proxy pour :
localhost;127.0.0.1;*.local;192.168.*

⚠️ Important : Les paramètres proxy dans Windows 11 s'appliquent au système pour toutes les applications utilisant les API WinHTTP et WinINET. Cependant, certaines applications (comme Firefox) utilisent leurs propres paramètres proxy.

🖥️ Configuration du proxy dans Windows 10

Le processus de configuration du proxy sous Windows 10 est très similaire à celui de Windows 11, mais avec de légères différences d'interface. Cette méthode reste pertinente en 2025 pour des millions d'utilisateurs.

Instructions pour Windows 10

Méthode 1 : Via les Paramètres Windows

  1. Appuyez sur Windows + I pour ouvrir les Paramètres
  2. Sélectionnez Réseau et Internet
  3. Dans le panneau de gauche, choisissez Proxy
  4. Dans la section "Configuration manuelle du proxy", activez "Utiliser un serveur proxy"
  5. Entrez l'adresse et le port
  6. Cliquez sur Enregistrer

Configuration des exceptions

Pour que certaines adresses n'utilisent pas le proxy, ajoutez-les dans le champ des exceptions :

localhost;127.0.0.1;*.local;intranet.company.com

Les adresses sont séparées par un point-virgule. Les jokers (*) sont autorisés.

🎛️ Panneau de configuration classique (Options Internet)

Une méthode ancienne mais toujours fonctionnelle pour configurer le proxy via la fenêtre "Propriétés du navigateur". Cette approche offre des options de configuration avancées non disponibles dans l'interface moderne de Windows.

Accès aux Options Internet

Moyens d'ouverture :

1️⃣ Via la commande Exécuter

Appuyez sur Windows + R et tapez :

inetcpl.cpl
2️⃣ Via le Panneau de configuration

Panneau de configuration → Réseau et Internet → Propriétés du navigateur

3️⃣ Via Internet Explorer

Menu → Outils → Propriétés du navigateur

Configuration du proxy

  1. Ouvrez l'onglet Connexions (Connections)
  2. Cliquez sur le bouton Paramètres réseau (LAN settings)
  3. Dans la section "Serveur proxy", cochez "Utiliser un serveur proxy"
  4. Cliquez sur le bouton Avancé pour les configurations étendues

Paramètres avancés du proxy

Le bouton "Avancé" permet de configurer différents proxys pour différents protocoles :

Protocole Adresse du proxy Port
HTTP 192.168.1.100 8080
Sécurisé (HTTPS) 192.168.1.100 8443
FTP 192.168.1.100 2121
Socks 192.168.1.100 1080

Avantage : Permet d'utiliser différents proxys pour différents types de trafic

📝 Configuration via le registre Windows

Le registre Windows est un outil puissant pour gérer directement les paramètres du système. Cette méthode convient aux utilisateurs expérimentés et à l'automatisation via des scripts.

⚠️ Avertissement : Une modification incorrecte du registre peut perturber le fonctionnement du système. Créez une sauvegarde du registre avant d'apporter des modifications. Utilisez cette méthode uniquement si vous comprenez ce que vous faites.

Clés de registre pour le proxy

Emplacement des paramètres

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings

Paramètres principaux

Paramètre Type Valeur Description
ProxyEnable DWORD 1 Activer le proxy (0 = désactiver)
ProxyServer String 192.168.1.100:8080 Adresse et port du proxy
ProxyOverride String localhost;127.*;*.local Exceptions (adresses sans proxy)
AutoConfigURL String http://proxy/proxy.pac URL du fichier PAC

Exemple de fichier REG à importer

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"ProxyEnable"=dword:00000001
"ProxyServer"="192.168.1.100:8080"
"ProxyOverride"="localhost;127.0.0.1;*.local"

Enregistrez ce texte dans un fichier avec l'extension .reg et double-cliquez pour l'importer dans le registre.

⚡ Configuration via PowerShell

PowerShell est un outil moderne et puissant pour automatiser les paramètres Windows. Idéal pour la configuration de masse des proxys sur de nombreux ordinateurs ou pour l'automatisation de la configuration.

Commandes PowerShell pour la gestion du proxy

Activation du proxy

# Définir l'adresse du serveur proxy
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" `
  -Name ProxyServer -Value "192.168.1.100:8080"

# Activer le proxy
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" `
  -Name ProxyEnable -Value 1

# Appliquer les changements (notifier le système)
$signature = @'
[DllImport("wininet.dll")]
public static extern bool InternetSetOption(int hInternet, int dwOption, int lpBuffer, int dwBufferLength);
'@
$type = Add-Type -MemberDefinition $signature -Name wininet -Namespace pinvoke -PassThru
$type::InternetSetOption(0, 39, 0, 0) | Out-Null

Désactivation du proxy

# Désactiver le proxy
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" `
  -Name ProxyEnable -Value 0

Vérification des paramètres actuels

# Obtenir tous les paramètres proxy
Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | `
  Select-Object ProxyEnable, ProxyServer, ProxyOverride, AutoConfigURL

Fonction prête à l'emploi pour la configuration du proxy

function Set-Proxy {
  param(
    [Parameter(Mandatory=$true)]
    [string]$Server,
    [Parameter(Mandatory=$true)]
    [int]$Port,
    [string]$Override = "localhost;127.0.0.1;*.local"
  )

  $proxyString = "${Server}:${Port}"
  $regPath = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings"

  Set-ItemProperty -Path $regPath -Name ProxyServer -Value $proxyString
  Set-ItemProperty -Path $regPath -Name ProxyEnable -Value 1
  Set-ItemProperty -Path $regPath -Name ProxyOverride -Value $Override

  Write-Host "Proxy configuré : $proxyString" -ForegroundColor Green
}

# Utilisation :
Set-Proxy -Server "192.168.1.100" -Port 8080

💻 Configuration via l'invite de commande (netsh)

L'utilitaire netsh (Network Shell) est un outil classique en ligne de commande de Windows pour gérer les paramètres réseau, y compris le proxy pour WinHTTP.

Commandes netsh winhttp

Définir le proxy

netsh winhttp set proxy proxy-server="192.168.1.100:8080" bypass-list="localhost;*.local"

Importer les paramètres depuis IE

netsh winhttp import proxy source=ie

Importe les paramètres proxy d'Internet Explorer dans WinHTTP.

Afficher les paramètres actuels

netsh winhttp show proxy

Réinitialiser les paramètres proxy

netsh winhttp reset proxy

💡 Conseil : Les commandes netsh winhttp affectent le WinHTTP système, utilisé par Windows Update, PowerShell et de nombreuses applications système, mais elles N'AFFECTENT PAS les paramètres d'Internet Explorer/Edge.

🌐 Variables d'environnement sous Windows

De nombreux utilitaires en ligne de commande et applications utilisent les variables d'environnement pour définir le serveur proxy. Ceci est particulièrement important pour Python, Node.js, Git, curl et d'autres outils de développement.

Variables proxy standard

Définition via l'invite de commande (temporaire)

set HTTP_PROXY=http://192.168.1.100:8080
set HTTPS_PROXY=http://192.168.1.100:8080
set NO_PROXY=localhost,127.0.0.1,.local

Ces variables ne sont valables que dans la session de ligne de commande actuelle.

Définition via l'interface graphique (permanente)

  1. Ouvrez "Système" (Windows + Pause)
  2. Cliquez sur "Paramètres système avancés"
  3. Onglet "Avancé" → "Variables d'environnement"
  4. Dans la section "Variables utilisateur", cliquez sur "Nouvelle"
  5. Ajoutez les variables HTTP_PROXY, HTTPS_PROXY

Définition via PowerShell (permanente)

[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://192.168.1.100:8080", "User")
[Environment]::SetEnvironmentVariable("HTTPS_PROXY", "http://192.168.1.100:8080", "User")
[Environment]::SetEnvironmentVariable("NO_PROXY", "localhost,127.0.0.1", "User")

Format avec authentification

set HTTP_PROXY=http://username:password@192.168.1.100:8080
set HTTPS_PROXY=http://username:password@192.168.1.100:8080

⚠️ Les caractères spéciaux dans le mot de passe doivent être encodés en URL (@ → %40, : → %3A)

🎯 Configuration pour des applications spécifiques

Certaines applications n'utilisent pas les paramètres proxy système et nécessitent leur propre configuration. Examinons les outils les plus populaires.

🦊 Firefox

Firefox utilise ses propres paramètres proxy :

  1. Menu → Paramètres → Réseau
  2. Bouton "Configurer"
  3. Configuration manuelle du proxy
  4. Entrez l'adresse et le port

📦 Git

Configuration du proxy pour Git :

git config --global http.proxy http://192.168.1.100:8080
git config --global https.proxy http://192.168.1.100:8080

🐍 Python pip

Configuration pour pip :

pip install package_name --proxy http://192.168.1.100:8080

📦 npm

Configuration pour npm :

npm config set proxy http://192.168.1.100:8080
npm config set https-proxy http://192.168.1.100:8080

🎁 ProxyCove — des proxys fiables pour Windows : Prise en charge de toutes les méthodes d'authentification (liste blanche IP et login:mot de passe), fonctionnement avec toutes les applications, support technique 24/7. S'inscrire → et obtenez +$1.3 avec le code promo ARTHELLO

À suivre...

Dans la prochaine partie : configuration des proxys sous Linux (Ubuntu, Debian, CentOS), variables d'environnement, configuration d'apt/yum via proxy

Configuration des proxys sous Linux : Ubuntu, Debian, CentOS — Partie 2

Dans cette partie : Guide détaillé sur la configuration des serveurs proxy dans diverses distributions Linux — Ubuntu, Debian, CentOS et RHEL. Nous examinerons les variables d'environnement système, la configuration via l'interface graphique, la configuration des gestionnaires de paquets apt et yum, ainsi que la configuration pour des applications spécifiques. Le contenu est à jour pour 2025.

🐧 Particularités de la configuration proxy sous Linux

Contrairement à Windows, Linux n'a pas de lieu centralisé unique pour la configuration du serveur proxy. Au lieu de cela, diverses méthodes sont utilisées : variables d'environnement, fichiers de configuration, paramètres d'applications individuelles et interfaces graphiques (dans les distributions de bureau).

Approches principales pour la configuration proxy sous Linux

🌐 Variables d'environnement

La méthode la plus courante. Les variables http_proxy, https_proxy et no_proxy sont utilisées par la plupart des utilitaires en ligne de commande.

📝 Fichiers de configuration

Fichiers /etc/environment, /etc/profile, ~/.bashrc pour les paramètres système et utilisateur.

📦 Gestionnaires de paquets

APT, YUM/DNF nécessitent une configuration séparée dans leurs fichiers de configuration.

🎨 Interface graphique

GNOME, KDE et d'autres environnements de bureau fournissent une interface graphique pour la configuration proxy (versions de bureau uniquement).

⚠️ Points importants

  • Il n'y a pas de norme unique pour le proxy sous Linux — chaque application peut ignorer les paramètres système
  • Les variables d'environnement doivent être définies à la fois en majuscules et en minuscules (HTTP_PROXY et http_proxy)
  • APT et YUM n'utilisent PAS les variables d'environnement système automatiquement
  • Pour les versions serveur (sans GUI), utilisez uniquement la ligne de commande et les fichiers de configuration

🔧 Variables d'environnement (http_proxy, https_proxy)

Les variables d'environnement sont la manière standard de configurer un proxy sous Linux pour les applications en ligne de commande. La plupart des utilitaires (curl, wget, apt-get si correctement configuré) lisent ces variables.

Variables proxy standard

Liste des variables principales

Variable Format Description
http_proxy http://proxy:8080 Proxy pour le trafic HTTP
https_proxy http://proxy:8080 Proxy pour le trafic HTTPS
ftp_proxy http://proxy:8080 Proxy pour le trafic FTP
no_proxy localhost,127.0.0.1,.local Adresses sans proxy (exceptions)
HTTP_PROXY http://proxy:8080 Duplique http_proxy (majuscules)
HTTPS_PROXY http://proxy:8080 Duplique https_proxy (majuscules)

Définition temporaire (session actuelle)

export http_proxy="http://192.168.1.100:8080"
export https_proxy="http://192.168.1.100:8080"
export ftp_proxy="http://192.168.1.100:8080"
export no_proxy="localhost,127.0.0.1,*.local"

# Dupliquer en majuscules pour la compatibilité
export HTTP_PROXY="http://192.168.1.100:8080"
export HTTPS_PROXY="http://192.168.1.100:8080"
export FTP_PROXY="http://192.168.1.100:8080"
export NO_PROXY="localhost,127.0.0.1,*.local"

Ces variables ne seront actives que dans la session de terminal actuelle.

Avec authentification

export http_proxy="http://username:password@192.168.1.100:8080"
export https_proxy="http://username:password@192.168.1.100:8080"

⚠️ Si le mot de passe contient des caractères spéciaux, utilisez l'encodage URL (@ → %40, : → %3A)

Vérification des variables définies

# Afficher toutes les variables proxy
env | grep -i proxy

# Vérifier une variable spécifique
echo $http_proxy
echo $https_proxy

Désactiver le proxy

unset http_proxy
unset https_proxy
unset ftp_proxy
unset HTTP_PROXY
unset HTTPS_PROXY
unset FTP_PROXY

🌍 Configuration système (/etc/environment)

Le fichier /etc/environment contient les variables d'environnement système qui s'appliquent à tous les utilisateurs et sont chargées au démarrage du système.

Configuration système permanente

Étape 1 : Édition du fichier

sudo nano /etc/environment

Étape 2 : Ajout des variables

Ajoutez les lignes suivantes à la fin du fichier :

http_proxy="http://192.168.1.100:8080"
https_proxy="http://192.168.1.100:8080"
ftp_proxy="http://192.168.1.100:8080"
no_proxy="localhost,127.0.0.1,*.local"

HTTP_PROXY="http://192.168.1.100:8080"
HTTPS_PROXY="http://192.168.1.100:8080"
FTP_PROXY="http://192.168.1.100:8080"
NO_PROXY="localhost,127.0.0.1,*.local"

Étape 3 : Application des changements

# Redémarrage du système (recommandé)
sudo reboot

# Ou application pour la session actuelle
source /etc/environment

💡 Conseil : Le fichier /etc/environment ne prend pas en charge la substitution de variables ni l'expansion de commandes. Utilisez uniquement des valeurs simples. Pour une logique plus complexe, utilisez /etc/profile ou /etc/bash.bashrc.

🐧 Configuration sous Ubuntu/Debian

Ubuntu et Debian sont les distributions Linux les plus populaires. Nous examinerons à la fois les paramètres via l'interface graphique (pour les versions de bureau) et via la ligne de commande (pour les versions serveur).

🎨 Via l'interface graphique (Ubuntu Desktop)

Paramètres GNOME

  1. Ouvrez Paramètres (Settings)
  2. Sélectionnez Réseau (Network)
  3. Cliquez sur l'icône d'engrenage à côté de votre connexion
  4. Onglet Proxy
  5. Choisissez Manuel (Manual)
  6. Entrez l'adresse et le port pour HTTP, HTTPS, FTP, Socks
  7. Cliquez sur Appliquer (Apply)

⌨️ Via la ligne de commande

gsettings (pour GNOME)

gsettings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.http host '192.168.1.100'
gsettings set org.gnome.system.proxy.http port 8080

🔴 Configuration sous CentOS/RHEL

CentOS et Red Hat Enterprise Linux utilisent une structure de configuration similaire. En 2025, beaucoup migrent vers Rocky Linux et AlmaLinux, où les mêmes principes s'appliquent.

Configuration système pour les systèmes basés sur RHEL

Méthode 1 : /etc/profile.d/

Créez un fichier pour les paramètres proxy :

sudo nano /etc/profile.d/proxy.sh

Ajoutez le contenu :

#!/bin/bash

export http_proxy="http://192.168.1.100:8080"
export https_proxy="http://192.168.1.100:8080"
export ftp_proxy="http://192.168.1.100:8080"
export no_proxy="localhost,127.0.0.1,*.local"

export HTTP_PROXY="http://192.168.1.100:8080"
export HTTPS_PROXY="http://192.168.1.100:8080"
export FTP_PROXY="http://192.168.1.100:8080"
export NO_PROXY="localhost,127.0.0.1,*.local"

Rendez le fichier exécutable : sudo chmod +x /etc/profile.d/proxy.sh

Méthode 2 : /etc/environment

Même méthode que pour Ubuntu/Debian — éditez /etc/environment

📦 Configuration d'APT via proxy

Important : APT (Advanced Package Tool) sous Ubuntu/Debian n'utilise PAS les variables d'environnement système automatiquement. Une configuration séparée est nécessaire pour fonctionner via un proxy.

Configuration du proxy pour APT

Méthode 1 : apt.conf.d/ (recommandée)

Créez un fichier de configuration :

sudo nano /etc/apt/apt.conf.d/02proxy

Ajoutez le contenu :

Acquire::http::Proxy "http://192.168.1.100:8080";
Acquire::https::Proxy "http://192.168.1.100:8080";
Acquire::ftp::Proxy "http://192.168.1.100:8080";

Avec authentification

Acquire::http::Proxy "http://username:password@192.168.1.100:8080";
Acquire::https::Proxy "http://username:password@192.168.1.100:8080";

Méthode 2 : Configuration temporaire (une seule commande)

sudo apt-get -o Acquire::http::proxy="http://192.168.1.100:8080" update

S'applique uniquement à la commande apt actuelle.

Vérification des paramètres APT

# Afficher les paramètres APT actuels
apt-config dump | grep -i proxy

# Tester la mise à jour via proxy
sudo apt-get update

Exclusions (pas de proxy pour certains hôtes)

Acquire::http::Proxy "http://192.168.1.100:8080";
Acquire::http::Proxy::ppa.launchpad.net "DIRECT";

"DIRECT" signifie une connexion directe sans proxy pour l'hôte spécifié.

📦 Configuration de YUM/DNF via proxy

YUM (pour CentOS 7 et inférieur) et DNF (pour CentOS 8+, Fedora, Rocky Linux, AlmaLinux) sont les gestionnaires de paquets pour les distributions basées sur Red Hat. Ils nécessitent également une configuration proxy séparée.

Configuration globale pour YUM/DNF

YUM (CentOS 7 et inférieur)

Éditez le fichier de configuration :

sudo nano /etc/yum.conf

Ajoutez dans la section [main] :

[main]
proxy=http://192.168.1.100:8080
proxy_username=your_username
proxy_password=your_password

Si le proxy ne nécessite pas d'authentification, omettez proxy_username et proxy_password.

DNF (CentOS 8+, Fedora, Rocky Linux)

Éditez le fichier de configuration :

sudo nano /etc/dnf/dnf.conf

Ajoutez dans la section [main] :

[main]
proxy=http://192.168.1.100:8080
proxy_username=your_username
proxy_password=your_password

Configuration pour un dépôt spécifique

Vous pouvez configurer le proxy uniquement pour un dépôt spécifique dans les fichiers /etc/yum.repos.d/*.repo :

[epel]
name=Extra Packages for Enterprise Linux 8
baseurl=https://download.fedoraproject.org/pub/epel/8/$basearch
proxy=http://192.168.1.100:8080
proxy_username=username
proxy_password=password

Désactiver le proxy pour un dépôt spécifique

[local-repo]
name=Local Repository
baseurl=http://192.168.1.50/repo
proxy=_none_

proxy=_none_ désactive le proxy pour ce dépôt.

Vérification des paramètres

# Pour YUM
sudo yum repolist

# Pour DNF
sudo dnf repolist

# Afficher la configuration
sudo dnf config-manager --dump | grep -i proxy

👤 Configuration dans .bashrc et .profile

Pour les paramètres proxy spécifiques à un utilisateur, qui ne s'appliquent qu'à cet utilisateur, utilisez les fichiers .bashrc ou .profile dans le répertoire personnel.

Configuration utilisateur

Édition de .bashrc

nano ~/.bashrc

Ajoutez à la fin du fichier :

# Proxy settings
export http_proxy="http://192.168.1.100:8080"
export https_proxy="http://192.168.1.100:8080"
export ftp_proxy="http://192.168.1.100:8080"
export no_proxy="localhost,127.0.0.1,*.local"

export HTTP_PROXY=$http_proxy
export HTTPS_PROXY=$https_proxy
export FTP_PROXY=$ftp_proxy
export NO_PROXY=$no_proxy

Appliquer les changements :

source ~/.bashrc

Création de fonctions pour gérer le proxy

# Fonction pour activer le proxy
proxy_on() {
  export http_proxy="http://192.168.1.100:8080"
  export https_proxy="http://192.168.1.100:8080"
  export HTTP_PROXY=$http_proxy
  export HTTPS_PROXY=$https_proxy
  echo "Proxy activé"
}

# Fonction pour désactiver le proxy
proxy_off() {
  unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY
  echo "Proxy désactivé"
}

# Fonction pour vérifier le statut du proxy
proxy_status() {
  echo "http_proxy: $http_proxy"
  echo "https_proxy: $https_proxy"
}

Utilisation : proxy_on, proxy_off, proxy_status

🛠️ Configuration pour les applications (curl, wget, git)

Certains utilitaires populaires ont leurs propres méthodes de configuration proxy ou des fichiers de configuration dédiés.

📡 curl

curl utilise les variables d'environnement, mais vous pouvez également spécifier le proxy dans les paramètres :

curl -x http://192.168.1.100:8080 https://example.com

# Avec authentification
curl -x http://user:pass@192.168.1.100:8080 https://example.com

# Via .curlrc
echo 'proxy = "http://192.168.1.100:8080"' >> ~/.curlrc

📥 wget

wget utilise également les variables d'environnement, mais dispose d'un fichier de configuration :

# ~/.wgetrc
http_proxy = http://192.168.1.100:8080
https_proxy = http://192.168.1.100:8080
use_proxy = on

🔧 git

Git a son propre système de configuration proxy :

# Globalement pour tous les dépôts
git config --global http.proxy http://192.168.1.100:8080
git config --global https.proxy http://192.168.1.100:8080

# Pour un dépôt spécifique
git config http.proxy http://192.168.1.100:8080

# Désactiver le proxy
git config --global --unset http.proxy
git config --global --unset https.proxy

🐳 Docker

Docker nécessite la configuration du proxy pour le daemon et le client :

# /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://192.168.1.100:8080"
Environment="HTTPS_PROXY=http://192.168.1.100:8080"
Environment="NO_PROXY=localhost,127.0.0.1"

🎁 ProxyCove — des proxys professionnels pour Linux : Compatibilité totale avec toutes les distributions, prise en charge de la liste blanche IP et de l'authentification, fonctionnement avec toutes les applications. S'inscrire → et obtenez +$1.3 avec le code promo ARTHELLO

La partie finale arrive bientôt !

Dans la partie conclusive : Fichiers PAC, configuration automatique, dépannage des problèmes courants sous Windows et Linux.

Fichiers PAC, configuration automatique et dépannage — Finale

Dans cette partie finale : Guide complet sur les fichiers PAC (Proxy Auto-Configuration), le protocole WPAD pour la découverte automatique de proxy, le diagnostic et la résolution des problèmes typiques de proxy sous Windows et Linux. Recommandations et meilleures pratiques finales pour 2025.

📜 Qu'est-ce que les fichiers PAC

PAC (Proxy Auto-Configuration) est un fichier JavaScript qui détermine automatiquement quel serveur proxy utiliser pour une URL donnée. Cela permet de créer des règles de routage de trafic flexibles sans avoir à configurer manuellement chaque client.

Avantages des fichiers PAC

✅ Flexibilité

Différents proxys pour différents sites, accès direct pour les ressources locales, tolérance aux pannes avec plusieurs proxys.

✅ Centralisation

Une seule modification dans le fichier PAC s'applique à tous les clients sans reconfigurer chaque machine.

✅ Logique conditionnelle

Choix du proxy basé sur le domaine, le sous-réseau IP, l'heure de la journée, le jour de la semaine, etc.

✅ Performance

Équilibrage de charge entre plusieurs serveurs proxy, basculement automatique en cas d'indisponibilité.

Quand utiliser les fichiers PAC

  • Réseaux d'entreprise — différents proxys pour les ressources internes et externes
  • Routage complexe — différents proxys pour différents pays ou services
  • Redondance — basculement automatique vers un proxy de secours en cas de panne
  • Optimisation — acheminement du trafic via le chemin le plus efficace

💻 Syntaxe et structure des fichiers PAC

Un fichier PAC est un fichier texte avec l'extension .pac contenant une fonction JavaScript FindProxyForURL(url, host).

Structure de base

function FindProxyForURL(url, host) {
  // Votre logique ici
  // Retourne une chaîne avec les paramètres proxy
  return "PROXY proxy.example.com:8080";
}

Paramètres de la fonction

Paramètre Description Exemple
url L'URL complète demandée par le navigateur https://example.com/page
host Seulement le nom de domaine de l'URL example.com

Valeurs de retour

Valeur Description
DIRECT Connexion directe sans proxy
PROXY host:port Proxy HTTP/HTTPS
SOCKS host:port Proxy SOCKS (v4/v5)
SOCKS5 host:port SOCKS5 explicite
PROXY p1:8080; PROXY p2:8080; DIRECT Plusieurs options (mécanisme de secours)

Fonctions PAC intégrées

Fonction Description
isPlainHostName(host) Vérifie si l'hôte est un nom simple (sans points)
dnsDomainIs(host, domain) Vérifie si l'hôte appartient au domaine
localHostOrDomainIs(host, domain) Compare l'hôte avec le domaine
isResolvable(host) Vérifie si l'hôte se résout en DNS
isInNet(host, pattern, mask) Vérifie si l'IP est dans le sous-réseau
shExpMatch(str, pattern) Correspondance de motif (* et ?)
weekdayRange(day1, day2) Vérification du jour de la semaine
dateRange(...) Vérification de la plage de dates
timeRange(...) Vérification de l'heure de la journée

📚 Exemples pratiques de fichiers PAC

Exemple 1 : Proxy simple pour toutes les requêtes

function FindProxyForURL(url, host) {
  return "PROXY proxy.company.com:8080";
}

Exemple 2 : Adresses locales sans proxy

function FindProxyForURL(url, host) {
  // Hôtes locaux — connexion directe
  if (isPlainHostName(host) ||
      dnsDomainIs(host, ".local") ||
      isInNet(host, "192.168.0.0", "255.255.0.0") ||
      isInNet(host, "10.0.0.0", "255.0.0.0") ||
      host == "localhost" ||
      host == "127.0.0.1")
  {
      return "DIRECT";
  }

  // Tout le reste via le proxy
  return "PROXY proxy.company.com:8080";
}

Exemple 3 : Différents proxys pour différents domaines

function FindProxyForURL(url, host) {
  // Réseaux sociaux via un proxy spécial
  if (shExpMatch(host, "*.facebook.com") ||
      shExpMatch(host, "*.twitter.com") ||
      shExpMatch(host, "*.instagram.com"))
  {
      return "PROXY social-proxy.company.com:8080";
  }

  // Streaming vidéo via un autre proxy
  if (shExpMatch(url, "*.youtube.com") ||
      shExpMatch(url, "*.netflix.com"))
  {
      return "PROXY video-proxy.company.com:8080";
  }

  // Ressources locales directement
  if (isInNet(host, "10.0.0.0", "255.0.0.0"))
  {
      return "DIRECT";
  }

  // Tout le reste via le proxy principal
  return "PROXY main-proxy.company.com:8080";
}

Exemple 4 : Tolérance aux pannes avec secours (fallback)

function FindProxyForURL(url, host) {
  // Adresses locales sans proxy
  if (isPlainHostName(host) ||
      isInNet(host, "192.168.0.0", "255.255.0.0"))
  {
      return "DIRECT";
  }

  // Essayer via le proxy principal, puis le secours, puis directement
  return "PROXY proxy1.company.com:8080; " +
         "PROXY proxy2.company.com:8080; " +
         "DIRECT";
}

Le navigateur essaiera de se connecter via proxy1, si cela échoue, via proxy2, et si cela échoue également, via une connexion directe.

Exemple 5 : Routage dépendant de l'heure

function FindProxyForURL(url, host) {
  // Pendant les heures de bureau (8h00-18h00) et jours de semaine
  if (weekdayRange("MON", "FRI") &&
      timeRange(8, 18))
  {
      return "PROXY work-proxy.company.com:8080";
  }

  // Proxy différent le soir et le week-end
  return "PROXY night-proxy.company.com:8080";
}

Exemple 6 : Configuration d'entreprise complexe

function FindProxyForURL(url, host) {
  // Hôtes locaux sans proxy
  if (isPlainHostName(host) ||
      dnsDomainIs(host, ".local") ||
      dnsDomainIs(host, ".company.com") ||
      isInNet(host, "10.0.0.0", "255.0.0.0") ||
      isInNet(host, "172.16.0.0", "255.240.0.0") ||
      isInNet(host, "192.168.0.0", "255.255.0.0") ||
      host == "localhost" ||
      host == "127.0.0.1")
  {
      return "DIRECT";
  }

  // Trafic HTTPS via un proxy SSL spécial
  if (url.substring(0, 6) == "https:")
  {
      return "PROXY ssl-proxy.company.com:8443; DIRECT";
  }

  // Contenu média via un proxy de cache
  if (shExpMatch(url, "*.mp4") ||
      shExpMatch(url, "*.mp3") ||
      shExpMatch(url, "*.jpg") ||
      shExpMatch(url, "*.png"))
  {
      return "PROXY cache-proxy.company.com:3128";
  }

  // HTTP via le proxy principal avec failover
  return "PROXY proxy1.company.com:8080; " +
         "PROXY proxy2.company.com:8080; " +
         "DIRECT";
}

🚀 Déploiement des fichiers PAC

Une fois le fichier PAC créé, il doit être correctement hébergé et les clients configurés pour l'utiliser.

Hébergement du fichier PAC

1. Serveur Web (HTTP/HTTPS)

Placez le fichier proxy.pac sur un serveur web :

http://proxy.company.com/proxy.pac
https://proxy.company.com/proxy.pac

⚠️ Le type MIME doit être : application/x-ns-proxy-autoconfig

2. Système de fichiers (file://)

# Windows
file:///C:/proxy.pac
file://\\server\share\proxy.pac

# Linux
file:///etc/proxy.pac

Non recommandé pour la production, mais pratique pour les tests.

Configuration du type MIME dans Apache

# Dans httpd.conf ou .htaccess
AddType application/x-ns-proxy-autoconfig .pac

Configuration du type MIME dans Nginx

# Dans nginx.conf
types {
  application/x-ns-proxy-autoconfig pac;
}

Configuration des clients

Windows

Paramètres → Réseau et Internet → Proxy → "Utiliser un script de configuration" → Entrez l'URL du fichier PAC

Linux (GNOME)

gsettings set org.gnome.system.proxy mode 'auto'
gsettings set org.gnome.system.proxy autoconfig-url 'http://proxy.company.com/proxy.pac'

Firefox

Paramètres → Réseau → Configurer → Configuration automatique du proxy → URL de configuration automatique

🔍 WPAD — Découverte automatique du proxy

WPAD (Web Proxy Auto-Discovery Protocol) est un protocole qui permet aux navigateurs de trouver automatiquement un fichier PAC sans configuration URL explicite. En 2025, il est pris en charge par tous les principaux navigateurs et systèmes d'exploitation.

Comment fonctionne WPAD

  1. Méthode DHCP : Le client demande l'option 252 au serveur DHCP, qui renvoie l'URL du fichier PAC
  2. Méthode DNS : Le client tente de trouver l'hôte wpad.domain.com via DNS
  3. Chargement du PAC : Si trouvé, le client tente de charger http://wpad.domain.com/wpad.dat

Configuration de WPAD via DNS

Créez un enregistrement DNS A ou CNAME :

wpad.company.com. IN A 192.168.1.100
# ou
wpad.company.com. IN CNAME proxy-server.company.com.

Placez le fichier PAC à l'adresse : http://wpad.company.com/wpad.dat

Configuration de WPAD via DHCP

Ajoutez l'option 252 dans la configuration de votre serveur DHCP :

# ISC DHCP (dhcpd.conf)
option wpad code 252 = text;
option wpad "http://proxy.company.com/proxy.pac";

⚠️ Problèmes de sécurité WPAD

  • Détournement WPAD : Un attaquant peut répondre à la requête WPAD et rediriger le trafic via son propre proxy
  • Spoofing DNS : Usurpation de l'enregistrement DNS wpad.domain.com
  • Recommandation : Utilisez WPAD uniquement dans des réseaux d'entreprise de confiance
  • Alternative : Spécifier explicitement l'URL du fichier PAC est plus sûr que la détection automatique

🔧 Dépannage : diagnostic des problèmes

Problèmes courants et solutions

Problème 1 : Le proxy ne fonctionne pas

Symptômes : Les sites ne s'ouvrent pas, erreurs de connexion

Solutions :
  • Vérifiez l'accessibilité du serveur proxy : ping proxy-host
  • Vérifiez le port : telnet proxy-host 8080 ou nc -zv proxy-host 8080
  • Assurez-vous que le proxy n'est pas bloqué par le pare-feu
  • Vérifiez l'exactitude de l'adresse et du port dans les paramètres

Problème 2 : Erreur 407 (Proxy Authentication Required)

Symptômes : Demande d'authentification, code d'erreur 407

Solutions :
  • Vérifiez la validité du nom d'utilisateur et du mot de passe
  • Assurez-vous d'utiliser le format correct : http://user:pass@proxy:port
  • Vérifiez si les informations d'identification n'ont pas expiré
  • Pour l'authentification par IP : assurez-vous que votre IP est dans la liste blanche
  • Vérifiez si votre adresse IP externe n'a pas changé

Problème 3 : Lenteur via le proxy

Symptômes : Chargement lent des pages, timeouts

Solutions :
  • Vérifiez la vitesse du proxy : curl -x proxy:port -w "@curl-format.txt" https://example.com
  • Essayez un autre serveur proxy (si disponible)
  • Vérifiez la charge sur le serveur proxy
  • Assurez-vous de ne pas utiliser le proxy pour les ressources locales (ajoutez des exceptions)
  • Vérifiez les paramètres DNS (un DNS lent peut ralentir le proxy)

Problème 4 : Le fichier PAC ne fonctionne pas

Symptômes : La configuration automatique n'est pas appliquée

Solutions :
  • Vérifiez l'accessibilité du fichier PAC : ouvrez l'URL dans un navigateur
  • Assurez-vous que le type MIME est correct : application/x-ns-proxy-autoconfig
  • Vérifiez la syntaxe JavaScript dans le fichier PAC
  • Utilisez des outils de test PAC : pactester (Linux) ou DevTools du navigateur
  • Vérifiez le cache : videz le cache du navigateur

🧪 Test du proxy

Outils de test

Vérification de la connexion (curl)

# Vérification du proxy HTTP
curl -x http://proxy:8080 -I https://www.google.com

# Avec authentification
curl -x http://user:pass@192.168.1.100:8080 https://www.google.com

# Afficher l'IP externe (vérification que le proxy fonctionne)
curl -x http://proxy:8080 https://ifconfig.me
curl -x http://proxy:8080 https://api.ipify.org

Vérification du port (netcat)

# Linux
nc -zv proxy-host 8080

# Windows (PowerShell)
Test-NetConnection -ComputerName proxy-host -Port 8080

Test du fichier PAC (Linux)

# Installation de pactester
sudo apt-get install libpacparser1 # Ubuntu/Debian

# Test du fichier PAC
pactester -p /path/to/proxy.pac -u https://www.google.com

Vérification des paramètres actuels (Windows PowerShell)

# Afficher les paramètres proxy actuels
Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | Select-Object ProxyEnable, ProxyServer, AutoConfigURL

# Afficher le proxy WinHTTP
netsh winhttp show proxy

Outils en ligne

  • whatismyip.com — vérification de votre IP externe
  • ifconfig.me — affiche l'IP en format console
  • browserleaks.com/proxy — informations détaillées sur le proxy
  • ipleak.net — vérification des fuites DNS, WebRTC

🔒 Sécurité lors de l'utilisation d'un proxy

Recommandations de sécurité

✅ Utilisez un proxy HTTPS

Un proxy HTTPS chiffre les données entre le client et le serveur proxy, protégeant contre l'interception du trafic.

✅ Ne stockez pas les mots de passe en clair

Utilisez des gestionnaires de mots de passe, des variables d'environnement ou des fichiers de configuration chiffrés.

✅ Vérifiez les certificats

Lors de l'utilisation d'un proxy MITM, assurez-vous de faire confiance au certificat racine du serveur proxy.

✅ Minimisez les fuites DNS

Utilisez DNS-over-HTTPS ou configurez les requêtes DNS via le proxy pour prévenir les fuites.

❌ Ce qu'il faut éviter

  • N'utilisez pas de proxys publics gratuits pour des données sensibles
  • N'ignorez pas les avertissements de certificat SSL
  • Ne stockez pas les mots de passe proxy dans l'historique des commandes (utilisez un espace devant la commande en bash)
  • N'utilisez pas de proxy HTTP sans chiffrement pour transmettre des mots de passe

🎯 Meilleures pratiques 2025

1️⃣ Choisir le bon type de proxy

Pour le scraping et l'analyse web : Proxys résidentiels ou mobiles
Pour les réseaux d'entreprise : Proxys de centre de données avec liste blanche IP
Pour contourner les géo-blocages : Proxys résidentiels du pays souhaité

2️⃣ Utiliser les fichiers PAC pour un routage complexe

Les fichiers PAC sont idéaux pour les environnements d'entreprise où différentes ressources nécessitent différents proxys. Ils assurent une gestion centralisée et une flexibilité maximale.

3️⃣ Configurer les exceptions

Les adresses locales (localhost, 127.0.0.1, sous-réseaux privés) ne doivent pas passer par le proxy. Cela accélère l'accès aux ressources locales.

4️⃣ Implémenter la tolérance aux pannes

Dans les fichiers PAC, utilisez des options de secours (fallback) : plusieurs proxys avec possibilité de connexion directe en cas d'indisponibilité de tous les proxys.

5️⃣ Surveillance et journalisation

Vérifiez régulièrement le bon fonctionnement des proxys, surveillez la vitesse de connexion et la disponibilité. Journalisez les erreurs pour une réaction rapide.

6️⃣ Documentez la configuration

Créez une documentation décrivant tous les paramètres proxy, les fichiers PAC, les exceptions et les procédures de récupération. Cela vous fera gagner du temps lors du dépannage.

📝 Conclusions et recommandations

Bilan de la série d'articles

Windows

Sous Windows, utilisez l'interface graphique pour les configurations simples, PowerShell pour l'automatisation et le registre pour les réglages fins. Les variables d'environnement sont nécessaires pour les utilitaires en ligne de commande.

Linux

Sous Linux, la méthode principale est l'utilisation des variables d'environnement dans /etc/environment ou ~/.bashrc. N'oubliez pas la configuration séparée pour APT et YUM/DNF.

Fichiers PAC

Les fichiers PAC offrent une flexibilité maximale pour les scénarios complexes. Utilisez-les dans les environnements d'entreprise et pour un routage de trafic intelligent.

Dépannage

La plupart des problèmes sont résolus en vérifiant l'accessibilité du proxy, la validité des identifiants et les configurations. Utilisez curl, netcat et les DevTools du navigateur pour le diagnostic.

🏆 ProxyCove — Votre choix idéal

🌍

Couverture mondiale

195+ pays

Haute vitesse

Jusqu'à 10 Gbps

🔐

Sécurité

IP + Login/Pass

👨‍💼

Support 24/7

En français

💎

Prix abordables

À partir de 1,5 $/GB

📊

API

Intégration complète

Prêt à commencer avec des proxys professionnels ?

Inscrivez-vous sur ProxyCove, créditez votre compte avec le code promo ARTHELLO et recevez un bonus de 1,3 $ !