Torna al blog

Configurazione Proxy su Windows e Linux: Guida Completa 2025

195+ paesi

📅13 novembre 2025

In questa serie di articoli: Guida completa alla configurazione dei server proxy nei sistemi operativi Windows 10/11 e Linux (Ubuntu, Debian, CentOS). Scoprirete tutti i metodi di configurazione: dall'interfaccia grafica alla riga di comando, dal registro di sistema alle variabili d'ambiente, dai file PAC alla configurazione automatica. Il materiale è aggiornato al 2025, tenendo conto degli ultimi aggiornamenti dei sistemi operativi.

🪟 Introduzione: perché configurare un proxy in Windows

Configurare un server proxy in Windows è un'abilità fondamentale per lavorare in reti aziendali, aggirare blocchi regionali, proteggere la privacy e automatizzare il web scraping. Nel 2025, Windows offre numerosi modi per configurare un proxy, dalla semplice interfaccia grafica ai potenti strumenti da riga di comando.

Scenari di utilizzo principali del proxy in Windows

🏢 Reti aziendali

La maggior parte delle aziende richiede l'uso di un proxy aziendale per l'accesso a Internet, il controllo del traffico e la garanzia della sicurezza.

🔒 Privacy

L'uso di un proxy consente di nascondere l'indirizzo IP reale, proteggere i dati personali e aggirare le restrizioni regionali.

⚙️ Automazione

Per web scraping, parsing dei dati e test automatizzati, i proxy sono necessari per la rotazione degli IP e l'aggiramento dei limiti.

🌍 Geolocalizzazione

Accesso a contenuti da diversi paesi per test, monitoraggio dei prezzi e verifica della disponibilità dei servizi.

✅ Cosa imparerai in questa parte

  • Configurazione del proxy tramite interfaccia grafica di Windows 10 e 11
  • Utilizzo del pannello di controllo classico
  • Lavorare con il registro di sistema di Windows per una configurazione dettagliata
  • Automazione tramite PowerShell e riga di comando
  • Configurazione delle variabili d'ambiente
  • Configurazione del proxy per applicazioni specifiche

🎨 Configurazione del proxy in Windows 11 tramite GUI

Windows 11 offre un'interfaccia delle impostazioni aggiornata con una navigazione migliorata. Nel 2025, questo metodo è il più semplice ed è consigliato per la maggior parte degli utenti.

Istruzioni passo passo

Passo 1: Apertura delle impostazioni

Premi Windows + I oppure apri il menu Start e seleziona l'icona dell'ingranaggio (Impostazioni).

💡 Suggerimento: Puoi anche fare clic destro sull'icona della rete nella barra delle applicazioni e selezionare "Impostazioni di rete".

Passo 2: Navigazione alle impostazioni proxy

Nella finestra Impostazioni, seleziona:

  1. Rete e Internet (Network & Internet) nel pannello di sinistra
  2. Scorri verso il basso e seleziona Proxy

Passo 3: Scelta del metodo di configurazione

Windows 11 offre tre modi per configurare il proxy:

🔄 Rilevamento automatico

Attivato per impostazione predefinita. Windows tenta di rilevare automaticamente le impostazioni proxy tramite DHCP o DNS.

📜 Usa script di configurazione

Per i file PAC (Proxy Auto-Config). Inserisci l'URL dello script di configurazione.

⚙️ Configura manualmente

Il metodo più comune. Inserisci l'indirizzo IP e la porta del server proxy manualmente.

Passo 4: Configurazione manuale del proxy

  1. Nella sezione "Configura manualmente", fai clic su Configura
  2. Attiva l'interruttore "Usa server proxy"
  3. Inserisci l'indirizzo IP o il nome di dominio del server proxy
  4. Inserisci la Porta (solitamente 8080, 3128, 80 o altro)
  5. (Opzionale) Nel campo "Non usare il server proxy per gli indirizzi", aggiungi le esclusioni
  6. Fai clic su Salva
Esempio di configurazione:
Indirizzo server proxy: 192.168.1.100
Porta: 8080

Non usare il proxy per:
localhost;127.0.0.1;*.local;192.168.*

⚠️ Importante: Le impostazioni proxy in Windows 11 vengono applicate a livello di sistema per tutte le applicazioni che utilizzano le API WinHTTP e WinINET. Tuttavia, alcune applicazioni (come Firefox) utilizzano le proprie impostazioni proxy.

🖥️ Configurazione del proxy in Windows 10

Il processo di configurazione del proxy in Windows 10 è molto simile a quello di Windows 11, ma con alcune differenze nell'interfaccia. Questo metodo è ancora valido nel 2025 per milioni di utenti.

Istruzioni per Windows 10

Metodo 1: Tramite Impostazioni di Windows

  1. Premi Windows + I per aprire Impostazioni
  2. Seleziona Rete e Internet
  3. Nel pannello di sinistra, seleziona Proxy
  4. Nella sezione "Configura proxy manualmente", attiva "Usa server proxy"
  5. Inserisci indirizzo e porta
  6. Fai clic su Salva

Configurazione delle esclusioni

Per evitare che alcuni indirizzi utilizzino il proxy, aggiungili nel campo delle esclusioni:

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

Gli indirizzi sono separati da punto e virgola. È possibile utilizzare caratteri jolly (*).

🎛️ Pannello di controllo classico (Opzioni Internet)

Un metodo vecchio ma ancora funzionale per configurare il proxy tramite la finestra "Proprietà del browser". Questo approccio offre funzionalità di configurazione avanzate non disponibili nell'interfaccia moderna di Windows.

Accesso a Opzioni Internet

Metodi di apertura:

1️⃣ Tramite comando Esegui

Premi Windows + R e digita:

inetcpl.cpl
2️⃣ Tramite Pannello di controllo

Pannello di controllo → Rete e Internet → Proprietà del browser

3️⃣ Tramite Internet Explorer

Menu → Strumenti → Proprietà del browser

Configurazione del proxy

  1. Apri la scheda Connessioni
  2. Fai clic sul pulsante Impostazioni LAN
  3. Nella sezione "Server proxy", spunta "Utilizza un server proxy per la LAN"
  4. Fai clic su Avanzate per le impostazioni dettagliate

Impostazioni avanzate del proxy

Il pulsante "Avanzate" consente di configurare proxy diversi per protocolli diversi:

Protocollo Indirizzo proxy Porta
HTTP 192.168.1.100 8080
Sicuro (HTTPS) 192.168.1.100 8443
FTP 192.168.1.100 2121
Socks 192.168.1.100 1080

Vantaggio: È possibile utilizzare proxy diversi per diversi tipi di traffico

📝 Configurazione tramite Registro di sistema di Windows

Il Registro di sistema di Windows è uno strumento potente per la gestione diretta delle impostazioni di sistema. Questo metodo è adatto per utenti esperti e per l'automazione tramite script.

⚠️ Avvertenza: La modifica errata del registro può causare problemi al sistema. Eseguire un backup del registro prima di apportare modifiche. Utilizzare questo metodo solo se si comprende appieno cosa si sta facendo.

Chiavi di registro per il proxy

Posizione delle impostazioni

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

Parametri principali

Parametro Tipo Valore Descrizione
ProxyEnable DWORD 1 Abilita proxy (0 = disabilita)
ProxyServer String 192.168.1.100:8080 Indirizzo e porta del proxy
ProxyOverride String localhost;127.*;*.local Esclusioni (indirizzi senza proxy)
AutoConfigURL String http://proxy/proxy.pac URL del file PAC

Esempio di file REG da importare

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"

Salva questo testo in un file con estensione .reg e fai doppio clic per importarlo nel registro.

⚡ Configurazione tramite PowerShell

PowerShell è uno strumento moderno e potente per l'automazione delle impostazioni di Windows. Ideale per la configurazione di massa del proxy su molti computer o per l'automazione della configurazione.

Comandi PowerShell per la gestione del proxy

Abilitazione del proxy

# Impostazione dell'indirizzo del server proxy
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" `
  -Name ProxyServer -Value "192.168.1.100:8080"

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

# Applicazione delle modifiche (notifica al sistema)
$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

Disabilitazione del proxy

# Disabilitazione del proxy
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" `
  -Name ProxyEnable -Value 0

Verifica delle impostazioni correnti

# Ottieni tutte le impostazioni proxy
Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | `
  Select-Object ProxyEnable, ProxyServer, ProxyOverride, AutoConfigURL

Funzione pronta per la configurazione del 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 configurato: $proxyString" -ForegroundColor Green
}

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

💻 Configurazione tramite riga di comando (netsh)

L'utility netsh (Network Shell) è uno strumento classico da riga di comando di Windows per la gestione delle impostazioni di rete, incluso il proxy per WinHTTP.

Comandi netsh winhttp

Impostazione del proxy

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

Importazione delle impostazioni da IE

netsh winhttp import proxy source=ie

Importa le impostazioni proxy da Internet Explorer in WinHTTP.

Visualizzazione delle impostazioni correnti

netsh winhttp show proxy

Ripristino delle impostazioni proxy

netsh winhttp reset proxy

💡 Suggerimento: I comandi netsh winhttp influenzano il WinHTTP di sistema, utilizzato da Windows Update, PowerShell e molte applicazioni di sistema, ma NON influenzano le impostazioni di Internet Explorer/Edge.

🌐 Variabili d'ambiente in Windows

Molte utility da console e applicazioni utilizzano le variabili d'ambiente per definire il server proxy. Questo è particolarmente importante per Python, Node.js, Git, curl e altri strumenti di sviluppo.

Variabili proxy standard

Impostazione tramite riga di comando (temporanea)

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

Queste variabili sono valide solo nella sessione del prompt dei comandi corrente.

Impostazione tramite GUI (permanente)

  1. Apri "Sistema" (Windows + Pausa)
  2. Fai clic su "Impostazioni di sistema avanzate"
  3. Scheda "Avanzate" → "Variabili d'ambiente"
  4. Nella sezione "Variabili utente", fai clic su "Nuova"
  5. Aggiungi le variabili HTTP_PROXY, HTTPS_PROXY

Impostazione tramite 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")

Formato con autenticazione

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

⚠️ I caratteri speciali nella password devono essere codificati in URL (@ → %40, : → %3A)

🎯 Configurazione per applicazioni specifiche

Alcune applicazioni non utilizzano le impostazioni proxy di sistema e richiedono una configurazione propria. Vediamo gli strumenti più popolari.

🦊 Firefox

Firefox utilizza le proprie impostazioni proxy:

  1. Menu → Impostazioni → Rete
  2. Pulsante "Configura..."
  3. Configurazione manuale del proxy
  4. Inserisci indirizzo e porta

📦 Git

Configurazione del proxy per 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

Configurazione per pip:

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

📦 npm

Configurazione per npm:

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

🎁 ProxyCove — proxy affidabili per Windows: Supporto per tutti i metodi di autenticazione (whitelist IP e login:password), compatibilità con qualsiasi applicazione, supporto tecnico 24/7. Registrati → e ottieni +$1.3 con il codice promozionale ARTHELLO

Continua presto...

Nella prossima parte: configurazione del proxy in Linux (Ubuntu, Debian, CentOS), variabili d'ambiente, configurazione di apt/yum tramite proxy

Configurazione proxy in Linux: Ubuntu, Debian, CentOS — Parte 2

In questa parte: Guida dettagliata alla configurazione dei server proxy in varie distribuzioni Linux — Ubuntu, Debian, CentOS e RHEL. Esamineremo le variabili d'ambiente di sistema, la configurazione tramite GUI, la configurazione dei gestori di pacchetti apt e yum, e la configurazione per applicazioni specifiche. Materiale aggiornato al 2025.

🐧 Caratteristiche della configurazione proxy in Linux

A differenza di Windows, Linux non ha un unico punto centralizzato per la configurazione del server proxy. Vengono invece utilizzati diversi metodi: variabili d'ambiente, file di configurazione, impostazioni di singole applicazioni e interfacce grafiche (nelle distribuzioni desktop).

Approcci principali alla configurazione del proxy in Linux

🌐 Variabili d'ambiente

Il metodo più comune. Le variabili http_proxy, https_proxy e no_proxy sono utilizzate dalla maggior parte delle utility da console.

📝 File di configurazione

File come /etc/environment, /etc/profile, ~/.bashrc per impostazioni di sistema e utente.

📦 Gestori di pacchetti

APT, YUM/DNF richiedono una configurazione separata nei loro file di configurazione.

🎨 Interfaccia grafica

GNOME, KDE e altri ambienti desktop forniscono una GUI per la configurazione del proxy (solo versioni desktop).

⚠️ Punti importanti

  • In Linux non esiste uno standard obbligatorio per il proxy: ogni applicazione può ignorare le impostazioni di sistema
  • Le variabili d'ambiente devono essere impostate sia in minuscolo che in maiuscolo (HTTP_PROXY e http_proxy)
  • APT e YUM NON utilizzano le variabili d'ambiente di sistema automaticamente
  • Per le versioni server (senza GUI), utilizzare solo la riga di comando e i file di configurazione

🔧 Variabili d'ambiente (http_proxy, https_proxy)

Le variabili d'ambiente sono il modo standard per configurare il proxy in Linux per le applicazioni da console. La maggior parte delle utility (curl, wget, apt-get se configurato correttamente) legge queste variabili.

Variabili proxy principali

Elenco delle variabili principali

Variabile Formato Descrizione
http_proxy http://proxy:8080 Proxy per traffico HTTP
https_proxy http://proxy:8080 Proxy per traffico HTTPS
ftp_proxy http://proxy:8080 Proxy per traffico FTP
no_proxy localhost,127.0.0.1,.local Indirizzi senza proxy (esclusioni)
HTTP_PROXY http://proxy:8080 Duplica http_proxy (maiuscolo)
HTTPS_PROXY http://proxy:8080 Duplica https_proxy (maiuscolo)

Impostazione temporanea (sessione corrente)

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"

# Duplicazione in maiuscolo per 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"

Queste variabili saranno attive solo nella sessione del terminale corrente.

Con autenticazione

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

⚠️ Se la password contiene caratteri speciali, utilizzare la codifica URL: @ → %40, : → %3A

Verifica delle variabili impostate

# Mostra tutte le variabili proxy
env | grep -i proxy

# Verifica una variabile specifica
echo $http_proxy
echo $https_proxy

Disabilitazione del proxy

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

🌍 Configurazione a livello di sistema (/etc/environment)

Il file /etc/environment contiene le variabili d'ambiente di sistema che vengono applicate a tutti gli utenti e caricate all'avvio del sistema.

Configurazione di sistema permanente

Passo 1: Modifica del file

sudo nano /etc/environment

Passo 2: Aggiunta delle variabili

Aggiungi le seguenti righe alla fine del file:

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"

Passo 3: Applicazione delle modifiche

# Riavvio del sistema (consigliato)
sudo reboot

# Oppure applica alla sessione corrente
source /etc/environment

💡 Suggerimento: Il file /etc/environment non supporta la sostituzione di variabili o l'espansione dei comandi. Utilizzare solo valori semplici. Per una logica più complessa, utilizzare /etc/profile o /etc/bash.bashrc.

🐧 Configurazione in Ubuntu/Debian

Ubuntu e Debian sono le distribuzioni Linux più popolari. Vediamo sia la configurazione tramite GUI (per le versioni desktop) sia tramite riga di comando (per i server).

🎨 Tramite GUI (Ubuntu Desktop)

Impostazioni GNOME

  1. Apri Impostazioni (Settings)
  2. Seleziona Rete (Network)
  3. Fai clic sull'icona dell'ingranaggio accanto alla connessione
  4. Scheda Proxy
  5. Seleziona Manuale (Manual)
  6. Inserisci indirizzo e porta per HTTP, HTTPS, FTP, Socks
  7. Fai clic su Applica (Apply)

⌨️ Tramite riga di comando

gsettings (per 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

🔴 Configurazione in CentOS/RHEL

CentOS e Red Hat Enterprise Linux utilizzano una struttura di configurazione simile. Nel 2025, molti stanno passando a Rocky Linux e AlmaLinux, dove si applicano gli stessi principi.

Configurazione di sistema per RHEL-based

Metodo 1: /etc/profile.d/

Crea un file per le impostazioni del proxy:

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

Aggiungi il contenuto:

#!/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"

Rendi il file eseguibile: sudo chmod +x /etc/profile.d/proxy.sh

Metodo 2: /etc/environment

Lo stesso metodo utilizzato per Ubuntu/Debian: modifica /etc/environment

📦 Configurazione di APT tramite proxy

Importante: APT (Advanced Package Tool) in Ubuntu/Debian NON utilizza le variabili d'ambiente di sistema automaticamente. È necessaria una configurazione separata per funzionare tramite proxy.

Configurazione del proxy per APT

Metodo 1: apt.conf.d/ (consigliato)

Crea un file di configurazione:

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

Aggiungi il contenuto:

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";

Con autenticazione

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

Metodo 2: Configurazione temporanea (un comando)

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

Si applica solo al comando apt corrente.

Verifica delle impostazioni APT

# Mostra le impostazioni APT correnti
apt-config dump | grep -i proxy

# Test di aggiornamento tramite proxy
sudo apt-get update

Esclusioni (nessun proxy per alcuni host)

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

"DIRECT" significa connessione diretta senza proxy per l'host specificato.

📦 Configurazione di YUM/DNF tramite proxy

YUM (per CentOS 7 e precedenti) e DNF (per CentOS 8+, Fedora, Rocky Linux, AlmaLinux) sono gestori di pacchetti per distribuzioni basate su Red Hat. Anche loro richiedono una configurazione proxy separata.

Configurazione globale YUM/DNF

YUM (CentOS 7 e precedenti)

Modifica il file di configurazione:

sudo nano /etc/yum.conf

Aggiungi nella sezione [main]:

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

Se il proxy non richiede autenticazione, ometti proxy_username e proxy_password.

DNF (CentOS 8+, Fedora, Rocky Linux, AlmaLinux)

Modifica il file di configurazione:

sudo nano /etc/dnf/dnf.conf

Aggiungi nella sezione [main]:

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

Configurazione per un repository specifico

È possibile configurare il proxy solo per un repository specifico nei file /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

Disabilitazione del proxy per un repository specifico

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

proxy=_none_ disabilita il proxy per questo repository.

Verifica delle impostazioni

# Per YUM
sudo yum repolist

# Per DNF
sudo dnf repolist

# Mostra la configurazione
sudo dnf config-manager --dump | grep -i proxy

👤 Configurazione in .bashrc e .profile

Per le impostazioni proxy specifiche dell'utente, che si applicano solo a quell'utente, utilizzare i file .bashrc o .profile nella directory home.

Configurazione specifica dell'utente

Modifica di .bashrc

nano ~/.bashrc

Aggiungi alla fine del file:

# 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

Applica le modifiche:

source ~/.bashrc

Creazione di funzioni per la gestione del proxy

# Funzione per abilitare il 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 abilitato"
}

# Funzione per disabilitare il proxy
proxy_off() {
  unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY
  echo "Proxy disabilitato"
}

# Funzione per controllare lo stato del proxy
proxy_status() {
  echo "http_proxy: $http_proxy"
  echo "https_proxy: $https_proxy"
}

Utilizzo: proxy_on, proxy_off, proxy_status

🛠️ Configurazione per applicazioni (curl, wget, git)

Alcune utility popolari hanno i propri modi per configurare il proxy o file di configurazione dedicati.

📡 curl

curl utilizza le variabili d'ambiente, ma è possibile specificare il proxy anche nei parametri:

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

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

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

📥 wget

wget utilizza anch'esso le variabili d'ambiente, ma ha un file di configurazione:

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

🔧 git

Git ha il proprio sistema di configurazione proxy:

# Globale per tutti i repository
git config --global http.proxy http://192.168.1.100:8080
git config --global https.proxy http://192.168.1.100:8080

# Per un repository specifico
git config http.proxy http://192.168.1.100:8080

# Disabilitare il proxy
git config --global --unset http.proxy
git config --global --unset https.proxy

🐳 Docker

Docker richiede la configurazione del proxy per il daemon e il 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 — proxy professionali per Linux: Piena compatibilità con tutte le distribuzioni, supporto per whitelist IP e autenticazione, compatibilità con qualsiasi applicazione. Registrati → e ottieni +$1.3 con il codice promozionale ARTHELLO

La parte finale è in arrivo!

Nella parte conclusiva: file PAC, configurazione automatica, troubleshooting dei problemi tipici e conclusioni.

File PAC, configurazione automatica e troubleshooting — Finale

In questa parte finale: Guida completa ai file PAC (Proxy Auto-Configuration), al protocollo WPAD per la scoperta automatica del proxy, alla diagnostica e alla risoluzione dei problemi tipici del proxy in Windows e Linux. Raccomandazioni finali e migliori pratiche per il 2025.

📜 Cosa sono i file PAC

PAC (Proxy Auto-Configuration) è un file JavaScript che determina automaticamente quale server proxy utilizzare per un URL specifico. Ciò consente di creare regole di routing del traffico flessibili senza dover configurare manualmente ogni client.

Vantaggi dei file PAC

✅ Flessibilità

Proxy diversi per siti diversi, accesso diretto alle risorse locali, tolleranza ai guasti con più proxy.

✅ Centralizzazione

Una singola modifica al file PAC viene applicata a tutti i client senza riconfigurare ogni computer.

✅ Logica basata su condizioni

Scelta del proxy in base a dominio, sottorete IP, ora del giorno, giorno della settimana e altri fattori.

✅ Prestazioni

Bilanciamento del carico tra più server proxy, commutazione automatica in caso di inaccessibilità del proxy principale.

Quando usare i file PAC

  • Reti aziendali — proxy diversi per risorse interne ed esterne
  • Routing complesso — proxy diversi per diversi paesi o servizi
  • Ridondanza — commutazione automatica su proxy di backup in caso di guasto del principale
  • Ottimizzazione — instradamento del traffico sul percorso più efficiente

💻 Sintassi e struttura dei file PAC

Un file PAC è un file di testo con estensione .pac contenente la funzione JavaScript FindProxyForURL(url, host).

Struttura di base

function FindProxyForURL(url, host) {
  // La tua logica qui
  // Restituisce una stringa con le impostazioni del proxy
  return "PROXY proxy.example.com:8080";
}

Parametri della funzione

Parametro Descrizione Esempio
url L'URL completo richiesto dal browser https://example.com/page
host Solo il nome di dominio dall'URL example.com

Valori di ritorno

Valore Descrizione
DIRECT Connessione diretta senza proxy
PROXY host:port Proxy HTTP/HTTPS
SOCKS host:port Proxy SOCKS (v4/v5)
SOCKS5 host:port SOCKS5 esplicito
PROXY p1:8080; PROXY p2:8080; DIRECT Opzioni multiple (fallback)

Funzioni PAC integrate

Funzione Descrizione
isPlainHostName(host) Verifica se l'host è un nome semplice (senza punti)
dnsDomainIs(host, domain) Verifica se l'host appartiene a un dominio
localHostOrDomainIs(host, domain) Confronta l'host con il dominio
isResolvable(host) Verifica se l'host è risolvibile tramite DNS
isInNet(host, pattern, mask) Verifica se l'IP è in una sottorete
shExpMatch(str, pattern) Corrispondenza con pattern (* e ?)
weekdayRange(day1, day2) Verifica del giorno della settimana
dateRange(...) Verifica del range di date
timeRange(...) Verifica dell'ora del giorno

📚 Esempi pratici di file PAC

Esempio 1: Proxy semplice per tutte le richieste

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

Esempio 2: Nessun proxy per gli indirizzi locali

function FindProxyForURL(url, host) {
  // Host locali — connessione diretta
  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";
  }

  // Tutto il resto tramite proxy
  return "PROXY proxy.company.com:8080";
}

Esempio 3: Proxy diversi per domini diversi

function FindProxyForURL(url, host) {
  // Social network tramite proxy speciale
  if (shExpMatch(host, "*.facebook.com") ||
      shExpMatch(host, "*.twitter.com") ||
      shExpMatch(host, "*.instagram.com"))
  {
      return "PROXY social-proxy.company.com:8080";
  }

  // Streaming video tramite altro proxy
  if (shExpMatch(host, "*.youtube.com") ||
      shExpMatch(host, "*.netflix.com"))
  {
      return "PROXY video-proxy.company.com:8080";
  }

  // Risorse locali direttamente
  if (isInNet(host, "10.0.0.0", "255.0.0.0"))
  {
      return "DIRECT";
  }

  // Tutto il resto tramite proxy principale
  return "PROXY main-proxy.company.com:8080";
}

Esempio 4: Tolleranza ai guasti con fallback

function FindProxyForURL(url, host) {
  // Indirizzi locali senza proxy
  if (isPlainHostName(host) ||
      isInNet(host, "192.168.0.0", "255.255.0.0"))
  {
      return "DIRECT";
  }

  // Tentativo tramite proxy principale, poi di backup, poi diretto
  return "PROXY proxy1.company.com:8080; " +
         "PROXY proxy2.company.com:8080; " +
         "DIRECT";
}

Il browser tenterà di connettersi tramite proxy1, se non riesce tramite proxy2, e se anche questo fallisce, tenterà una connessione diretta.

Esempio 5: Routing dipendente dall'orario

function FindProxyForURL(url, host) {
  // Durante l'orario lavorativo (8:00-18:00) e nei giorni feriali
  if (weekdayRange("MON", "FRI") &&
      timeRange(8, 18))
  {
      return "PROXY work-proxy.company.com:8080";
  }

  // Sera e weekend, un altro proxy
  return "PROXY night-proxy.company.com:8080";
}

Esempio 6: Configurazione aziendale complessa

function FindProxyForURL(url, host) {
  // Host locali senza 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";
  }

  // Traffico HTTPS tramite proxy SSL dedicato
  if (url.substring(0, 6) == "https:")
  {
      return "PROXY ssl-proxy.company.com:8443; DIRECT";
  }

  // Contenuti multimediali tramite proxy di caching
  if (shExpMatch(url, "*.mp4") ||
      shExpMatch(url, "*.mp3") ||
      shExpMatch(url, "*.jpg") ||
      shExpMatch(url, "*.png"))
  {
      return "PROXY cache-proxy.company.com:3128";
  }

  // HTTP tramite proxy principale con failover
  return "PROXY proxy1.company.com:8080; " +
         "PROXY proxy2.company.com:8080; " +
         "DIRECT";
}

🚀 Distribuzione dei file PAC

Dopo aver creato il file PAC, è necessario posizionarlo correttamente e configurare i client per utilizzarlo.

Posizionamento del file PAC

1. Web server (HTTP/HTTPS)

Posiziona il file proxy.pac sul web server:

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

⚠️ Il tipo MIME deve essere: application/x-ns-proxy-autoconfig

2. File system (file://)

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

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

Sconsigliato per ambienti di produzione, ma utile per i test.

Configurazione del tipo MIME in Apache

# In httpd.conf o .htaccess
AddType application/x-ns-proxy-autoconfig .pac

Configurazione del tipo MIME in Nginx

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

Configurazione dei client

Windows

Impostazioni → Rete e Internet → Proxy → "Usa script di configurazione" → Inserisci l'URL del file 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

Impostazioni → Rete → Configura → Configurazione automatica del proxy → URL di auto-configurazione

🔍 WPAD — Scoperta automatica del proxy

WPAD (Web Proxy Auto-Discovery Protocol) è un protocollo che consente ai browser di trovare automaticamente il file PAC. Nel 2025 è supportato da tutti i principali browser e sistemi operativi.

Come funziona WPAD

  1. Metodo DHCP: Il client richiede l'opzione 252 al server DHCP, che restituisce l'URL del file PAC
  2. Metodo DNS: Il client tenta di trovare l'host wpad.domain.com tramite DNS
  3. Caricamento PAC: Se trovato, il client tenta di caricare http://wpad.domain.com/wpad.dat

Configurazione WPAD tramite DNS

Crea un record DNS A o CNAME:

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

Posiziona il file PAC all'indirizzo: http://wpad.company.com/wpad.dat

Configurazione WPAD tramite DHCP

Nel file di configurazione del server DHCP, aggiungi l'opzione 252:

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

⚠️ Problemi di sicurezza WPAD

  • WPAD hijacking: Un attaccante può sostituire la risposta WPAD e reindirizzare il traffico attraverso il proprio proxy
  • DNS spoofing: Sostituzione del record DNS di wpad.domain.com
  • Raccomandazione: Utilizzare WPAD solo in reti aziendali fidate
  • Alternativa: Specificare esplicitamente l'URL del file PAC è più sicuro del rilevamento automatico

🔧 Troubleshooting: diagnostica dei problemi

Problemi comuni e soluzioni

Problema 1: Il proxy non funziona

Sintomi: I siti web non si aprono, errori di connessione

Soluzioni:
  • Verifica la raggiungibilità del server proxy: ping proxy-host
  • Verifica la porta: telnet proxy-host 8080 o nc -zv proxy-host 8080
  • Assicurati che il proxy non sia bloccato dal firewall
  • Verifica l'indirizzo e la porta corretti nelle impostazioni

Problema 2: Errore 407 (Proxy Authentication Required)

Sintomi: Richiesta di autenticazione, codice di errore 407

Soluzioni:
  • Verifica la correttezza di username e password
  • Assicurati di utilizzare il formato corretto: http://user:pass@proxy:port
  • Verifica che le credenziali non siano scadute
  • Per l'autenticazione basata su IP: assicurati che il tuo IP sia nella whitelist
  • Verifica che il tuo indirizzo IP esterno non sia cambiato

Problema 3: Lentezza tramite proxy

Sintomi: Caricamento lento delle pagine, timeout

Soluzioni:
  • Verifica la velocità del proxy: curl -x proxy:port -w "@curl-format.txt" https://example.com
  • Prova un altro server proxy (se disponibile)
  • Verifica il carico sul server proxy
  • Assicurati di non utilizzare il proxy per risorse locali (aggiungi esclusioni)
  • Controlla le impostazioni DNS (un DNS lento può rallentare il proxy)

Problema 4: Il file PAC non funziona

Sintomi: La configurazione automatica non viene applicata

Soluzioni:
  • Verifica la raggiungibilità del file PAC: aprilo nel browser
  • Assicurati che il tipo MIME sia corretto: application/x-ns-proxy-autoconfig
  • Verifica la sintassi JavaScript nel file PAC
  • Utilizza strumenti di test PAC: pactester (Linux) o DevTools del browser
  • Verifica la presenza di cache: svuota la cache del browser

🧪 Test del proxy

Strumenti di test

Verifica della connessione (curl)

# Verifica proxy HTTP
curl -x http://proxy:8080 -I https://www.google.com

# Con autenticazione
curl -x http://user:pass@proxy:8080 https://www.google.com

# Mostra IP esterno (verifica che il proxy funzioni)
curl -x http://proxy:8080 https://ifconfig.me
curl -x http://proxy:8080 https://api.ipify.org

Verifica della porta (netcat)

# Linux
nc -zv proxy-host 8080

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

Test del file PAC (Linux)

# Installazione di pactester
sudo apt-get install libpacparser1 # Ubuntu/Debian

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

Verifica delle impostazioni correnti (Windows PowerShell)

# Mostra le impostazioni proxy correnti
Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | Select-Object ProxyEnable, ProxyServer, AutoConfigURL

# Mostra proxy WinHTTP
netsh winhttp show proxy

Strumenti online

  • whatismyip.com — verifica del tuo IP esterno
  • ifconfig.me — mostra l'IP in formato console
  • browserleaks.com/proxy — informazioni dettagliate sul proxy
  • ipleak.net — verifica perdite DNS, WebRTC

🔒 Sicurezza nell'uso dei proxy

Raccomandazioni di sicurezza

✅ Usa proxy HTTPS

I proxy HTTPS crittografano i dati tra il client e il server proxy, proteggendo dall'intercettazione del traffico.

✅ Non salvare le password in chiaro

Utilizza gestori di password, variabili d'ambiente o file di configurazione crittografati.

✅ Verifica i certificati

Quando usi un proxy MITM, assicurati di fidarti del certificato root del server proxy.

✅ Minimizza le perdite DNS

Utilizza DNS-over-HTTPS o configura le richieste DNS tramite il proxy per prevenire perdite.

❌ Cosa evitare

  • Non utilizzare proxy pubblici gratuiti per dati sensibili
  • Non ignorare gli avvisi sui certificati SSL
  • Non salvare le password del proxy in chiaro nella cronologia dei comandi (usa uno spazio prima del comando in bash)
  • Non utilizzare proxy HTTP senza crittografia per trasmettere password

🎯 Migliori pratiche 2025

1️⃣ Scegli il tipo di proxy corretto

Per parsing e web scraping: Proxy residenziali o mobili
Per reti aziendali: Proxy datacenter con whitelist IP
Per aggirare i blocchi geografici: Proxy residenziali del paese desiderato

2️⃣ Usa file PAC per routing complesso

I file PAC sono ideali per reti aziendali dove diverse risorse richiedono proxy diversi. Offrono gestione centralizzata e flessibilità.

3️⃣ Imposta le esclusioni

Gli indirizzi locali (localhost, 127.0.0.1, sottoreti private) non dovrebbero passare attraverso il proxy. Questo velocizza l'accesso alle risorse locali.

4️⃣ Implementa la tolleranza ai guasti

Nei file PAC, utilizza opzioni di fallback: più proxy con possibilità di connessione diretta in caso di inaccessibilità di tutti i proxy.

5️⃣ Monitoraggio e logging

Verifica regolarmente il funzionamento dei proxy, monitora la velocità di connessione e la disponibilità. Registra gli errori per una risposta rapida.

6️⃣ Documenta la configurazione

Crea una documentazione che descriva tutte le impostazioni del proxy, i file PAC, le esclusioni e le procedure di ripristino. Questo ti farà risparmiare tempo durante il troubleshooting.

📝 Conclusioni e raccomandazioni

Riepilogo della serie di articoli

Windows

In Windows, utilizza la GUI per le impostazioni semplici, PowerShell per l'automazione e il registro di sistema per la configurazione dettagliata. Le variabili d'ambiente sono necessarie per le utility da console.

Linux

In Linux, il metodo principale sono le variabili d'ambiente in /etc/environment o ~/.bashrc. Non dimenticare la configurazione separata per APT e YUM/DNF.

File PAC

I file PAC offrono la massima flessibilità per scenari complessi. Utilizzali negli ambienti aziendali e per il routing intelligente del traffico.

Troubleshooting

La maggior parte dei problemi si risolve verificando la raggiungibilità del proxy, la correttezza delle credenziali e le impostazioni. Utilizza curl, netcat e i DevTools del browser per la diagnostica.

🏆 ProxyCove — La tua scelta ideale

🌍

Copertura globale

195+ paesi

Alta velocità

Fino a 10 Gbps

🔐

Sicurezza

IP + Login/Pass

👨‍💼

Supporto 24/7

In italiano

💎

Prezzi accessibili

Da $1.5/GB

📊

API

Integrazione completa

Pronto per iniziare a lavorare con proxy professionali?

Registrati su ProxyCove, ricarica il tuo saldo con il codice promozionale ARTHELLO e ricevi un bonus di $1.3!