Bagaimana saya bisa mengatur direktif nginx proxy_pass yang juga akan menyertakan informasi otentikasi HTTP Dasar yang dikirim ke host proxy?
Ini adalah contoh dari URL yang saya perlu proxy untuk:
http://username:[email protected]/export?uuid=1234567890
Tujuan akhirnya adalah untuk memungkinkan 1 server menyajikan file dari server lain (yang sedang kami proksi) tanpa memaparkan URI dari server proxy. Saya memiliki ini berfungsi 90% benar sekarang dari mengikuti konfigurasi Nginx yang ditemukan di sini:
http://kovyrin.net/2010/07/24/nginx-fu-x-accel-redirect-remote/
Saya hanya perlu menambahkan otentikasi HTTP Basic untuk mengirim ke server proxy
Jawaban:
Saya melakukan writeup tentang ini beberapa waktu yang lalu. Lihat detailnya di sini:
http://shairosenfeld.blogspot.com/2011/03/authorization-header-in-nginx-for.html
Sebagai contoh:
"a2luZzppc25ha2Vk" adalah "king: isnaked" base64 yang dikodekan, sehingga akan bekerja untuk
http: // king: [email protected]
Jangan ragu untuk melihat posting blog untuk lebih jelasnya.
sumber
Saya mendapatkan ini bekerja dengan jawaban alvosu tetapi saya harus memasukkan kata "Basic" di dalam kutipan dari string base64 sehingga terlihat seperti ini:
sumber
Setel otorisasi proxy_set_header "USER_AND_PASS", di mana USER_AND_PASS = base64 (pengguna: pass)
sumber
Basic
.Hapus tajuk otorisasi yang diteruskan diteruskan oleh nginx dengan
proxy_set_header Authorization "";
.Saya mengkonfigurasi nginx untuk melakukan auth dasar tetapi
Authorization
header diteruskan dalamproxy_pass
direktif dan penerima tidak dapat menangani token.(Khusus untuk kasus saya, kesalahan ini dikembalikan
Reason: No AuthenticationProvider found for org.springframework.security.authentication.UsernamePasswordAuthenticationToken
)sumber