Mengapa fail PAC anda memilih penyesuai rangkaian yang salah
Komputer riba boleh mempunyai beberapa alamat tempatan. Peraturan PAC berdasarkan myIpAddress() mungkin mengenal pasti antara muka yang berbeza daripada yang anda jangkakan.
Komputer riba berada di Wi-Fi pejabat, kabel Ethernet dipasang, dan penyesuai VPN masih ada. Fail PAC anda bertanya kepada myIpAddress() rangkaian mana ia berada. Itu kedengaran munasabah sehingga ia mendapat alamat milik penyesuai yang salah.
Butiran yang hilang ialah fungsi itu mengembalikan satu alamat. Ia bukan inventori setiap antara muka, dan ia tidak menghubungi laman web untuk menemui IP awam anda. Alamat peribadi, atau pun sandaran loopback, tidak memberitahu anda alamat keluar mana yang akan digunakan oleh permintaan melalui proksi.
Satu jawapan untuk mesin dengan beberapa alamat
Pemilihan antara muka rangkaian tergolong dalam pelaksanaan PAC. Nasihat lama untuk menyusun semula penyesuai Windows mungkin menerangkan versi pelayar dan sistem pengendalian tertentu, tetapi ia penyelesaian universal yang lemah. Chromium mendokumenkan algoritma pemilihan dan batasan berbilang rangkaian miliknya sendiri; klien lain tidak semestinya membuat pilihan yang sama.
Mulakan dengan mengenal pasti nilai yang sebenarnya dibekalkan oleh pelayar terjejas, kemudian bandingkannya dengan semakan subnet dalam skrip anda. Lakukan ini secara berasingan pada Wi-Fi, Ethernet dan sambungan VPN yang diluluskan. Alamat yang kelihatan mengejutkan masih boleh memenuhi peraturan pelaksanaan.
Jadikan keputusan bergantung pada lebih sedikit tekaan
Jika boleh, pilih proksi berdasarkan nama hos destinasi dan bukannya antara muka klien yang diandaikan. Jika pengesanan rangkaian diperlukan, gunakan isyarat yang disengajakan dan didokumenkan yang dikawal oleh organisasi anda. Pengesanan berasaskan DNS juga mempunyai mod kegagalan, jadi tentukan apa yang berlaku apabila isyarat itu tidak tersedia.
Sesetengah pelaksanaan menawarkan myIpAddressEx(). Semak sokongan dan format pemulangannya sebelum menggunakannya; ia bukan pengganti langsung untuk satu rentetan IPv4. Akhir sekali, sahkan laluan permintaan yang terhasil secara bebas. Mengenal pasti subnet pejabat dengan betul dan mencapai proksi yang dimaksudkan ialah dua hasil yang berasingan.