HTTPQUERY
Bahasa Indonesia

407 Proxy Authentication Required

Penggunaan

Ketika error 407 Proxy Authentication Required diterima, klien memahami bahwa kredensial login yang valid diperlukan sebelum mengakses sumber daya yang diminta melalui proxy. Ini serupa dengan respons 401 Unauthorized, dan klien menggunakan protokol autentikasi yang sama.

Header Proxy-Authenticate dikembalikan oleh server untuk menunjukkan metode yang diizinkan.

Dampak SEO

Mesin pencari seperti Google tidak mengindeks URL yang mengembalikan status 407 Proxy Authentication Required. URL yang sebelumnya terindeks namun kini mengembalikan kode status ini akan dihapus dari hasil pencarian.

Contoh

Klien meminta sebuah sumber daya dan server merespons dengan 407 Proxy Authentication Required untuk menunjukkan bahwa sumber daya tersebut dilindungi di balik proxy. Server menyatakan dukungan untuk otorisasi basic. Klien merespons dengan pasangan username:password menggunakan protokol autentikasi basic, yang dicantumkan pada header Proxy-Authorization. Server kemudian mengirimkan sumber daya yang diminta.

Request awal

GET /documents/tech-news HTTP/1.1
Host: example.com

Respons awal

HTTP/1.1 407 Proxy Authentication Required
Proxy-Authenticate: Basic realm="Documents"

Request berikutnya

GET /documents/tech-news HTTP/1.1
Host: example.com
Proxy-Authorization: Basic RXhhbXBsZTphaQ==

Respons akhir

HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Length: 25000

<PDF document included in message body>

Cara memperbaiki

407 Proxy Authentication Required berarti server proxy memerlukan kredensial yang valid sebelum meneruskan request.

Periksa header Proxy-Authenticate pada respons. Header ini menentukan skema autentikasi yang dibutuhkan (Basic, Digest, NTLM, Negotiate). Sesuaikan konfigurasi klien dengan metode yang diharapkan. Inspeksi header tersebut dengan DevTools browser atau curl -v melalui proxy.

Konfigurasikan kredensial proxy di klien. Setel nama pengguna dan kata sandi proxy pada pengaturan proxy browser, konfigurasi aplikasi, atau variabel lingkungan. Untuk perkakas baris perintah, sematkan kredensial di dalam URL proxy:

export HTTP_PROXY=http://user:pass@proxy:8080
export HTTPS_PROXY=http://user:pass@proxy:8080

Sertakan kredensial pada header Proxy-Authorization untuk klien HTTP programatik.

Verifikasi nama pengguna dan kata sandi proxy. Pasangan kredensial yang salah atau kedaluwarsa memicu error ini. Konfirmasikan nilainya dengan administrator jaringan. Proxy NTLM dan Kerberos memerlukan kredensial yang tergabung dalam domain. Pastikan prefiks domain (misalnya, DOMAIN\username) disertakan.

Periksa adanya intersepsi proxy transparan. Sebagian jaringan perusahaan merutekan seluruh lalu lintas melalui proxy transparan tanpa konfigurasi klien secara eksplisit. Koneksi VPN atau perubahan kebijakan jaringan dapat memunculkan autentikasi proxy yang sebelumnya tidak ada. Periksa pengaturan proxy sistem (Windows: Internet Options, macOS: System Settings > Network > Proxies, Linux: /etc/environment atau pengaturan proxy desktop).

Bersihkan kredensial proxy yang di-cache. Browser dan sistem operasi menyimpan token autentikasi proxy di cache. Kredensial cache yang usang menyebabkan respons 407 berulang setelah penggantian kata sandi. Bersihkan cache kredensial (Credential Manager pada Windows, Keychain Access pada macOS).

Verifikasi bahwa proxy mengizinkan domain tujuan. Sebagian server proxy membatasi akses hanya pada domain atau kategori URL yang disetujui. Proxy mengembalikan 407 untuk memaksa autentikasi ulang bahkan ketika kredensial valid, apabila tujuan diblokir oleh kebijakan. Periksa daftar izin proxy bersama administrator jaringan.

Hubungi administrator jaringan untuk memperoleh akses proxy. Proxy perusahaan atau institusi memerlukan penyediaan akun. Mintalah kredensial akses, konfirmasikan alamat dan porta proxy, serta verifikasi skema autentikasi yang digunakan.

Referensi kode

.NET

HttpStatusCode.ProxyAuthenticationRequired

Rust

http::StatusCode::PROXY_AUTHENTICATION_REQUIRED

Rails

:proxy_authentication_required

Go

http.StatusProxyAuthRequired

Symfony

Response::HTTP_PROXY_AUTHENTICATION_REQUIRED

Python3.5+

http.HTTPStatus.PROXY_AUTHENTICATION_REQUIRED

Java

java.net.HttpURLConnection.HTTP_PROXY_AUTH

Apache HttpComponents Core

org.apache.hc.core5.http.HttpStatus.SC_PROXY_AUTHENTICATION_REQUIRED

Angular

@angular/common/http/HttpStatusCode.ProxyAuthenticationRequired