Starpniekservera pārbaudei Chrome paplašinājumā vajag galamērķi ar paredzamu atbildi. Izmantojiet jūsu kontrolētu HTTPS galapunktu, piemēram, tādu, kas atgriež nelielu JSON objektu ar tā redzēto adresi.

Izpildiet pieprasījumu no paplašinājuma konteksta, piemēram, tā service worker vai paplašinājuma lapas, iekļaujot galapunktu manifesta host permissions:

"host_permissions": ["https://probe.example/*"]

Resursdatora atļauja content script nenodrošina tādas pašas starpizcelsmes tiesības. Turiet pārbaudi paplašinājuma kontekstā, nevis pieņemiet, ka ievadīts skripts var nosūtīt to pašu pieprasījumu.

async function probe() {
  const controller = new AbortController();
  const timer = setTimeout(() => controller.abort(), 5000);
  try {
    const response = await fetch('https://probe.example/ip', {
      cache: 'no-store',
      signal: controller.signal,
    });
    if (!response.ok) throw new Error(`HTTP ${response.status}`);
    const result = await response.json();
    if (typeof result.ip !== 'string') throw new Error('Bad probe body');
    return result.ip;
  } finally {
    clearTimeout(timer);
  }
}

Resursdatora nosaukums ir vietturis. Serverim un klientam jāvienojas par atbildes formātu un kešatmiņas politiku. Apstrādājiet noraidītos pieprasījumus un bojātās atbildes paplašinājuma izsaucējā, nevis rādiet tos kā derīgu izejas adresi.

Nosauciet novērojumu precīzi

Veiksmīgs rezultāts pierāda, ka šis pieprasījums sasniedza galapunktu un saņēma gaidītās formas atbildi. Salīdziniet novēroto adresi ar paredzēto maršrutu, kur šis salīdzinājums ir jēgpilns. Konfigurētā starpniekservera klausīšanās IP nav obligāti tā publiskā izeja.

PAC kārtula vai apiešanas saraksts var nosūtīt pārbaudi tieši, kamēr cits galamērķis izmanto starpniekserveri. Starpniekservera iestatījumu lasīšana sniedz konfigurācijas pierādījumus; pieprasījums sniedz pierādījumus šim galamērķim. Neviens pats par sevi nepierāda, ka katra cilne vai URL iet pa to pašu maršrutu.

Turiet saskarnē atsevišķi taimautu, HTTP kļūdu un negaidītu saturu. „Šī pārbaude neizdevās“ ir noderīgāk nekā pēc viena pieprasījuma pasludināt visu mašīnu bezsaistē.

Saistītie raksti