Computer >> Hướng Dẫn Máy Tính >  >> Xử Lý Sự Cố >> Lỗi Windows

Khắc phục lỗi Proxy Request: Sửa nhanh các vấn đề phổ biến khi phát triển

Lỗi "An error occurred while trying to proxy request" thường gặp khi lập trình viên viết và triển mã code. Lỗi xảy ra khi yêu cầu proxy đến web server bị từ chối hoặc thất bại do nhiều nguyên nhân: code sai, cấu hình IP không đúng. Bài viết này cung cấp các phương pháp khắc phục và tìm proxy server phù hợp trên Windows.

Nguyên nhân gây ra lỗi Proxy Request

  • Phiên bản IP server không đúng (IPv4 vs IPv6).
  • Code không chính xác.
  • Cấu hình webpack proxy không đúng.
  • File hosts không đúng.
  • Middleware Body-Parser gây xung đột.
  • Cấu hình client proxy không đúng.

7 phương pháp khắc phục

Phương pháp 1: Kiểm tra phiên bản IP Server

  1. Mở Command Prompt quyền Admin.
  2. Chạy lệnh ipconfig/all, ghi lại địa chỉ IPv4.
  3. Kiểm tra server và proxy có dùng cùng phiên bản IP không. Nhiều trường hợp đổi sang cùng phiên bản (IPv4/IPv6) thì lỗi biến mất. Xem hướng dẫn Cách đổi địa chỉ IP trên Windows 10.

Phương pháp 2: Giảm phiên bản Node.js

Nếu gặp lỗi trên Node.js v17, hãy hạ xuống v16. Tải phiên bản cũ tại trang Node.js previous releases.

Phương pháp 3: Sửa đổi Code (Thêm changeOrigin)

Thêm cấu hình changeOrigin: true vào code proxy:

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

Nhiều lập trình viên khắc phục thành công bằng cách này.

Phương pháp 4: Thay đổi cấu hình Webpack Proxy

  1. Tìm file webpack.config.js ở thư mục gốc dự án.
  2. Đảm bảo code như sau (lưu ý thêm [::1]):
devServer: {
  proxy: {
    "*": "https://[::1]:8081"
    // "secure": false,
    // "changeOrigin": true
  }
},

Phương pháp 5: Sửa file Hosts

  1. Mở Notepad với quyền Administrator.
  2. File → Open → điều hướng đến
    C:\Windows\System32\drivers\etc
  3. Chọn All Files, mở file hosts.
  4. Thêm dòng: 127.0.0.1 localhost → Lưu file.

Phương pháp 6: Loại bỏ Body-Parser

Nhiều dev báo Body-Parser (middleware Node.js parse request body) gây lỗi. Hãy thử xóa/gỡ Body-Parser khỏi dự án.

Phương pháp 7: Thêm Header vào Client Proxy

Thiếu header trong client proxy cũng gây lỗi. Thêm header Connection: keep-alive:

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

Câu hỏi thường gặp (FAQ)

Q1. Proxy error là gì?
Trả lời: Lỗi thường gặp khi proxy request đến web server thất bại.

Q2. Cách sửa proxy error?
Trả lời: Sửa code, cấu hình proxy, file hosts, version Node.js, v.v.

Q3. File hosts ở đâu?
Trả lời: C:\Windows\System32\drivers\etc\hosts, cần quyền Admin để sửa.

Xem thêm: Sửa lỗi Resource Not Owned, Sửa lỗi Ethernet Cable Not Plugged, Sửa lỗi Failed to Create Proxy Device, Sửa lỗi Server IP Address Could Not Be Found.

Hy vọng bạn khắc phục thành công lỗi proxy request. Hãy cho biết phương pháp nào hiệu quả!