Máy tính xách tay đang ở Wi-Fi của văn phòng, cáp Ethernet đã được cắm và bộ điều hợp VPN vẫn còn. Tệp PAC của bạn hỏi myIpAddress() xem nó đang ở mạng nào. Điều đó nghe có vẻ hợp lý cho đến khi nó nhận được một địa chỉ thuộc về bộ điều hợp sai.

Chi tiết còn thiếu là hàm chỉ trả về một địa chỉ. Nó không phải là bản kiểm kê mọi giao diện, và nó không liên hệ với một trang web để khám phá IP công khai của bạn. Một địa chỉ riêng tư, hoặc thậm chí một phương án dự phòng loopback, không cho bạn biết yêu cầu qua proxy sẽ dùng địa chỉ ra nào.

Một câu trả lời cho máy có nhiều địa chỉ

Việc chọn giao diện mạng thuộc về cách triển khai PAC. Lời khuyên cũ về việc sắp xếp lại các bộ điều hợp Windows có thể mô tả một phiên bản trình duyệt và hệ điều hành cụ thể, nhưng đó là một giải pháp phổ quát kém. Chromium ghi lại thuật toán chọn và các hạn chế đa mạng của riêng nó; một ứng dụng khách khác không nhất thiết phải đưa ra lựa chọn giống vậy.

Hãy bắt đầu bằng việc xác định giá trị mà trình duyệt bị ảnh hưởng thực sự cung cấp, sau đó so sánh với các kiểm tra subnet trong tập lệnh của bạn. Làm việc này riêng trên Wi-Fi, Ethernet và kết nối VPN đã được phê duyệt. Một địa chỉ trông có vẻ đáng ngạc nhiên vẫn có thể thỏa mãn các quy tắc của cách triển khai.

Làm cho quyết định bớt phụ thuộc vào phỏng đoán

Khi có thể, hãy chọn proxy dựa trên tên máy chủ đích thay vì một giao diện khách được giả định. Nếu cần phát hiện mạng, hãy dùng một tín hiệu có chủ đích, được ghi lại mà tổ chức của bạn kiểm soát. Việc phát hiện dựa trên DNS cũng có các chế độ lỗi, vì vậy hãy xác định điều gì xảy ra khi tín hiệu đó không khả dụng.

Một số cách triển khai cung cấp myIpAddressEx(). Hãy kiểm tra khả năng hỗ trợ và định dạng trả về trước khi áp dụng; nó không phải là thứ thay thế trực tiếp cho một chuỗi IPv4 duy nhất. Cuối cùng, hãy xác minh tuyến yêu cầu thu được một cách độc lập. Nhận diện đúng subnet của văn phòng và đến được proxy dự định là hai kết quả riêng biệt.

Bài viết liên quan