Chrome ವಿಸ್ತರಣೆಯಲ್ಲಿನ ಪ್ರಾಕ್ಸಿ ಪರೀಕ್ಷೆಗೆ ಊಹಿಸಬಹುದಾದ ಪ್ರತಿಕ್ರಿಯೆಯ ಗಮ್ಯಸ್ಥಾನ ಬೇಕು. ನೀವು ನಿಯಂತ್ರಿಸುವ HTTPS ಎಂಡ್ಪಾಯಿಂಟ್ ಬಳಸಿ, ಉದಾಹರಣೆಗೆ ಅದು ಕಾಣುವ ವಿಳಾಸವನ್ನು ಹೊಂದಿರುವ ಸಣ್ಣ JSON ವಸ್ತುವನ್ನು ಹಿಂತಿರುಗಿಸುವಂತಹದ್ದು.

ವಿನಂತಿಯನ್ನು ವಿಸ್ತರಣೆ ಸಂದರ್ಭದಿಂದ ನಡೆಸಿ, ಉದಾಹರಣೆಗೆ ಅದರ service worker ಅಥವಾ ವಿಸ್ತರಣೆ ಪುಟದಿಂದ, ಎಂಡ್ಪಾಯಿಂಟ್ ಅನ್ನು manifestನ host permissionsನಲ್ಲಿ ಇರಿಸಿ:

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

ಹೋಸ್ಟ್ ಅನುಮತಿ content scriptಗೆ ಅದೇ ಕ್ರಾಸ್-ಒರಿಜಿನ್ ಸವಲತ್ತುಗಳನ್ನು ನೀಡುವುದಿಲ್ಲ. ಪರೀಕ್ಷೆಯನ್ನು ವಿಸ್ತರಣೆ ಸಂದರ್ಭದಲ್ಲೇ ಇರಿಸಿ, ಇಂಜೆಕ್ಟ್ ಮಾಡಿದ ಸ್ಕ್ರಿಪ್ಟ್ ಅದೇ ವಿನಂತಿ ಮಾಡಬಹುದು ಎಂದು ಭಾವಿಸಬೇಡಿ.

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);
  }
}

ಹೋಸ್ಟ್ನಾಮವು ಪ್ಲೇಸ್ಹೋಲ್ಡರ್. ಸರ್ವರ್ ಮತ್ತು ಕ್ಲೈಂಟ್ ಪ್ರತಿಕ್ರಿಯೆಯ ಸ್ವರೂಪ ಮತ್ತು ಕ್ಯಾಶ್ ನೀತಿಯ ಬಗ್ಗೆ ಒಪ್ಪಬೇಕು. ತಿರಸ್ಕರಿಸಿದ ವಿನಂತಿಗಳು ಮತ್ತು ವಿಕೃತ ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ವಿಸ್ತರಣೆಯ ಕರೆಮಾಡುವವರಲ್ಲಿ ನಿರ್ವಹಿಸಿ, ಅವುಗಳನ್ನು ಮಾನ್ಯ ಔಟ್ಗೊಯಿಂಗ್ ವಿಳಾಸವಾಗಿ ತೋರಿಸಬೇಡಿ.

ವೀಕ್ಷಣೆಗೆ ನಿಖರವಾಗಿ ಹೆಸರಿಸಿ

ಯಶಸ್ವಿ ಫಲಿತಾಂಶವು ಈ ವಿನಂತಿ ಎಂಡ್ಪಾಯಿಂಟ್ ತಲುಪಿತು ಮತ್ತು ನಿರೀಕ್ಷಿತ ರೂಪದ ಉತ್ತರ ಪಡೆಯಿತು ಎಂದು ಸಾಬೀತುಪಡಿಸುತ್ತದೆ. ಹೋಲಿಕೆ ಅರ್ಥಪೂರ್ಣವಾಗಿರುವಲ್ಲಿ ಗಮನಿಸಿದ ವಿಳಾಸವನ್ನು ನೀವು ಉದ್ದೇಶಿಸಿದ ಮಾರ್ಗದೊಂದಿಗೆ ಹೋಲಿಸಿ. ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ ಪ್ರಾಕ್ಸಿಯ ಕೇಳುವ IP ಅದರ ಸಾರ್ವಜನಿಕ ನಿರ್ಗಮನವಾಗಿರಬೇಕಿಲ್ಲ.

PAC ನಿಯಮ ಅಥವಾ ಬೈಪಾಸ್ ಪಟ್ಟಿ ಪರೀಕ್ಷೆಯನ್ನು ನೇರವಾಗಿ ಕಳುಹಿಸಬಹುದು, ಆದರೆ ಇನ್ನೊಂದು ಗಮ್ಯಸ್ಥಾನ ಪ್ರಾಕ್ಸಿ ಬಳಸುತ್ತದೆ. ಪ್ರಾಕ್ಸಿ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಓದುವುದು ಕಾನ್ಫಿಗರೇಶನ್ ಸಾಕ್ಷ್ಯವನ್ನು ನೀಡುತ್ತದೆ; ವಿನಂತಿ ಈ ಗಮ್ಯಸ್ಥಾನಕ್ಕೆ ಸಾಕ್ಷ್ಯ ನೀಡುತ್ತದೆ. ಯಾವುದೇ ಒಂದು ಒಂಟಿಯಾಗಿ ಪ್ರತಿ ಟ್ಯಾಬ್ ಅಥವಾ URL ಅದೇ ಮಾರ್ಗವನ್ನು ಅನುಸರಿಸುತ್ತದೆ ಎಂದು ಸಾಬೀತುಪಡಿಸುವುದಿಲ್ಲ.

ಇಂಟರ್ಫೇಸ್ನಲ್ಲಿ ಟೈಮೌಟ್, HTTP ದೋಷ ಮತ್ತು ಅನಿರೀಕ್ಷಿತ ಬಾಡಿಯನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಇರಿಸಿ. ಒಂದು ವಿನಂತಿಯ ನಂತರ ಇಡೀ ಯಂತ್ರವನ್ನು ಆಫ್ಲೈನ್ ಎಂದು ಘೋಷಿಸುವುದಕ್ಕಿಂತ “ಈ ಪರೀಕ್ಷೆ ವಿಫಲವಾಯಿತು” ಎಂದು ಹೇಳುವುದು ಹೆಚ್ಚು ಉಪಯುಕ್ತ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು