Încerc să configurez un proxy Squid local care nu memorează nimic în cache. Folosesc calmar Dockerised pe baza acestei imagini:
https://hub.docker.com/r/ubuntu/squid
Rulez imaginea astfel:
docker run -d --name squid-container -v /host/squid.conf:/etc/squid/squid.conf -e TZ=UTC -p 3128:3128 ubuntu/squid:4.13-21.10_edge
Și acum îl testez prin aplicația Node cu Axios așa:
const res = await axios.get('https://www.google.com', {
proxy: {
gazdă: 'localhost',
portul: 3128
}
});
console.log(res.data);
Aceasta nu funcționează. Pentru exemplul Google, acesta răspunde cu HTTP 502 de exemplu și în jurnalele Squid pot vedea:
1646472971.202 183 172.17.0.1 TCP_MISS/502 3904 GET https://www.google.com/ - HIER_DIRECT/216.58.209.196 text/html
Dar pentru unele solicitări funcționează. De exemplu https://ipfs.io/ipfs/QmTWMcWKgv2a5GjH6GoUjJXChZ55HAE3tVEXvPzpdbMnFU/102
Merge bine.
Configurația mea Squid (Unele dintre lucrurile puse acolo au fost deja obținute din cercetarea acestei probleme, dar niciuna nu a ajutat. Memorarea în cache este dezactivată intenționat)
cache neagă totul
dns_v4_first on
forwarded_for off
prin off
http_access permite toate
acl all src all
Pagina HTML pe care o primesc la o eroare de la Axios este:
Următoarea eroare a fost întâlnită în timpul încercării de a prelua adresa URL: https://www.google.com/
Eroare de citire
Sistemul a returnat: [Fără eroare]
A apărut o condiție de eroare la citirea datelor din rețea. Vă rugăm să reîncercați solicitarea dvs.
Administratorul dvs. de cache este webmaster.
Fără a utiliza proxy, toate solicitările axios funcționează. Știe cineva de ce unele solicitări funcționează și altele nu?