# Istruzioni Setup - CashProxy

Importante: Questo documento spiega come configurare il browser per permettere la comunicazione tra il sito web e il proxy locale sulla stampante fiscale.

## Problema: CORS Private Network Access

Il browser Chrome/Edge ha una nuova funzionalità di sicurezza chiamata "Private Network Access" che blocca le richieste da siti pubblici (come easypos.010-01854103.digitalsparksweb.com) verso indirizzi locali (come localhost:5001).

Errore visualizzato:
"Access to XMLHttpRequest... has been blocked by CORS policy: Permission was denied for this request to access the `unknown` address space."

## Soluzioni Disponibili

### Soluzione 1: Abilitare Flag Chrome (Consigliata per Testing)

1 Aprire le impostazioni flags di Chrome
Digitare nella barra degli indirizzi: `chrome://flags/#block-insecure-private-network-requests`
2 Cercare "Private Network"
Trovare la voce: `Block insecure private network requests`
3 Disabilitare il flag
Cambiare il valore da "Default" a "Disabled"
4 Riavviare Chrome
Cliccare sul pulsante "Relaunch" che apparirà in basso
Nota: Questa è una soluzione temporanea per testing. Per produzione, usa la Soluzione 2 o 3.

### Soluzione 2: Usare HTTP invece di HTTPS per il Proxy

1 Modifica configurazione proxy
Nell'interfaccia admin, cambia l'indirizzo del proxy da:
`https://localhost:5001` → `http://localhost:5002`
2 Ricarica la pagina
Ricarica la pagina di vendita e riprova
Vantaggio: HTTP locale non richiede certificati e potrebbe bypassare alcune restrizioni

### Soluzione 3: Usare un Certificato SSL Valido (Produzione)

1 Installare certificato locale
Generare e installare un certificato SSL self-signed nel Trusted Root Certification Authorities del sistema Windows
2 Configurare CashProxy
Configurare l'applicazione per usare il certificato installato
3 Riavviare servizio
Riavviare l'applicazione CashProxy

### Soluzione 4: Policy Chrome Aziendale (Per Deployment)

1 Creare policy group
Usare Group Policy Editor (gpedit.msc) per configurare Chrome
2 Configurare InsecurePrivateNetworkRequestsAllowed
Aggiungere l'URL del sito alla whitelist:
`["https://easypos.010-01854103.digitalsparksweb.com"]`

## Verifica Configurazione

Come verificare se funziona:

- Aprire la console del browser (F12)
- Andare alla tab "Network"
- Fare una vendita
- Verificare che la richiesta a `localhost:5001/api/Proxy/forward` restituisca 200 OK
- Verificare che nell'header della risposta ci sia: `access-control-allow-private-network: true`

## Link Utili

Pagina Test CORS Configurazione Admin

## Supporto

Se continui ad avere problemi, contatta il supporto tecnico con:

- Screenshot dell'errore dalla console (F12)
- Versione del browser (chrome://version)
- Sistema operativo