Виправити помилку, що сталася під час спроби запиту проксі

Збій під час спроби проксі-запиту – це поширена проблема, з якою можуть зіткнутися програмісти при розробці та публікації коду. Ця ситуація виникає, коли запит, відправлений через проксі-сервер на веб-сервер, відхиляється або не виконується. Причинами можуть бути різноманітні фактори, наприклад, помилки в коді або некоректні налаштування IP-адреси. Розробник може зіткнутися з цією проблемою через неправильний код, некоректну IP-адресу або інші фактори. Існує кілька підходів, які можна застосувати для виправлення цієї помилки. У цьому матеріалі ми розглянемо деякі методи пошуку проксі-сервера поблизу та усунення проблем з проксі-сервером на платформі Windows.

Методи виправлення помилки проксі-запиту в Windows 10

Причин виникнення помилки проксі-запиту може бути декілька. Далі перелічено деякі з найпоширеніших:

  • Неправильна версія IP-адреси сервера.
  • Помилки в коді.
  • Неправильна конфігурація проксі у webpack.
  • Некоректні налаштування у файлах hosts.
  • Проблеми з Body-Parser (як повідомляли деякі розробники).
  • Неправильні налаштування клієнтського проксі.

Нижче описано способи усунення помилки, яка виникає під час проксі-запиту.

Спосіб 1. Перевірка версії IP-адреси сервера

Найчастіше, ця помилка може бути результатом невеликої проблеми з IP-адресою. Іноді, користувачі, які використовують різні версії IP-адрес для проксі, можуть зіткнутися з цією помилкою.

Першим кроком є пошук IP-адреси Wi-Fi мережі, до якої ви намагаєтеся підключитися на вашому ПК з Windows.

1. Натисніть клавішу Windows, введіть “Командний рядок” і запустіть його від імені адміністратора.

2. Введіть команду “ipconfig/all” і натисніть Enter, щоб побачити деталі вашого інтернет-з’єднання.

3. Знайдіть вашу IP-адресу у розділі “IPv4-адреса”.

Перевірте, чи використовують сервер і проксі одну і ту ж версію IP-адреси. Багато користувачів помічали, що їх сервер та проксі використовують різні версії IP-адрес, і зміна цього параметра вирішувала проблему. Для отримання додаткової інформації, ознайомтеся з нашою інструкцією про те, як змінити IP-адресу в Windows 10.

Якщо зміна версії IP не вирішила проблему, перейдіть до наступного кроку.

Спосіб 2: Використання старої версії

Інколи, відкат до попередньої версії може допомогти усунути помилку. Якщо ви зіткнулися з цією проблемою у версії Node.js 17, спробуйте відкотитись до версії 16. Відвідайте сторінку Node.js з попередніми релізами для завантаження старих версій.

Якщо це не спрацювало, перейдіть до інших методів.

Спосіб 3: Редагування коду

Нерідко, причиною помилки під час проксі-запиту є помилки у коді. Вирішити цю проблему можна, змінивши код та виправивши проблеми з проксі-сервером.

1. Відкрийте проект, над яким ви працюєте.

2. Змініть ваш код, додавши параметри “changeOrigin”.

{
    "/api": {
    "target": "https://localhost:12345",
    "secure": false,
    "changeOrigin": true
    }
}

Багато користувачів підтверджують, що додавання налаштування “changeOrigin” вирішило їхні проблеми з проксі. Якщо проблема залишається, перейдіть до наступного способу.

Спосіб 4: Зміна конфігурації проксі-сервера Webpack

Конфігурація проксі-сервера Webpack – це корисний інструмент для багатьох розробників, який дозволяє перенаправляти проксі-запити на інший сервер. Помилка може виникати через некоректні налаштування проксі у Webpack. Вирішити цю проблему можна, змінивши відповідні налаштування.

1. Знайдіть файл “webpack.config.js” в основній папці проекту.

2. Переконайтеся, що код має такий вигляд:

devServer: {
    proxy: {
        "*": "http://[::1]:8081"
        // "secure": false,
        // "changeOrigin": true
    }
},

Примітка: Переконайтеся, що ви додали значення “[::1]” у коді, щоб виправити помилку проксі-запиту.

Спосіб 5: Зміна файлу Hosts

Файли Hosts розташовані в каталозі Windows і не можуть бути відкриті без дозволу. Якщо проблема з проксі-запитом виникає через неправильні файли хосту, вам потрібно змінити їх, щоб усунути проблему.

1. У пошуковому меню “Пуск” введіть “Блокнот”, а потім запустіть його від імені адміністратора.

2. У Блокноті перейдіть на вкладку “Файл” і натисніть “Відкрити”.

3. Перейдіть до наступного розташування:

C:WindowsSystem32driversetc

4. Виберіть тип розширення “Усі файли”.

5. Виберіть файл hosts і відкрийте його.

6. Додайте “127.0.0.1 localhost” до файлу hosts.

Зміна файлу Hosts – це ефективний спосіб вирішення проблеми. Якщо це не працює, перейдіть до наступного кроку.

Спосіб 6: Видалення Body-parser

Деякі розробники повідомляли, що причина помилки полягає у проміжному програмному забезпеченні Node.js “body-parser”. Цей парсер використовується для аналізу тіл вхідних запитів. Проте іноді цей парсер може викликати помилку під час спроби проксі-запиту. Для усунення цієї проблеми, спробуйте видалити “body-parser”.

Відсутність заголовка у проксі-сервері клієнта також може викликати цю помилку. Щоб вирішити цю проблему, спробуйте додати заголовок у налаштування проксі-сервера клієнта.

1. Запустіть ваш проект.

2. Введіть код у такому форматі:

module.exports = function(app) {
    app.use(proxy('/api', {
        target: 'http://127.0.0.1:8080/',
        headers: {
            "Connection": "keep-alive"
        },
    }));
};

У більшості випадків додавання заголовка у проксі-сервері клієнта вирішує проблему.

Часті питання (FAQ)

Q1. Що таке помилка проксі?

Відповідь: Помилки проксі-сервера є типовими помилками, з якими програмісти часто стикаються під час роботи з кодом. Ви можете зіткнутися з цією помилкою, якщо запит, надісланий через проксі-сервер на веб-сервер, не виконується.

Q2. Як виправити помилку проксі?

Відповідь: Розробники можуть застосувати декілька ефективних методів для усунення цієї проблеми, зокрема редагування коду та виправлення його недоліків.

Q3. Де можна знайти файли хосту?

Відповідь: Файли хосту розташовані у каталозі Windows у системних файлах. Доступ до них можливий лише з дозволу користувача.

***

Сподіваємось, що ця інструкція була для вас корисною, і ви змогли виправити помилку під час спроби проксі-запиту. Повідомте нам, який метод спрацював саме у вашому випадку. Якщо у вас виникли запитання чи пропозиції, залиште коментар.