2016-03-21 20 views
4

Ben şöyle bir bahar DİNLENME arka uç proxy ediyorum bağlantı yolu dahil değildir Vekil yolu: I EğerBahar Veri istirahat -

localhost:3000/api/backend -> http://backend:8080

:

Arka uç: http://backend:8080

Proxy kullanımı localhost yerel olarak proxy'lenmiş bir son noktaya gözatın, isteği proxy edecektir, ancak bağlantılar proxy yolunu içermez, yani

GET localhost:3000/api/backend/people

"href": "http://localhost:3000/people"

Bunun olmasını beklediğiniz

:

"href": "http://localhost:3000/api/backend/people"

Orada herhangi bir yolu Bunu düzeltmek için?

Teşekkürler!

cevap

3

Proxy'nizin isteği eklediği x-forwarded-* başlıklarına bakmanız gerekir.

Proxy'nizden arka tarafa gönderilen istek, x-forwarded-prefix=/api/backend başlığını içeriyorsa, önek alınacak ve oluşturulan bağlantıya eklenecektir.

Hangi proxy'yi kullandığınızdan bahsetmiyorsunuz, dolayısıyla proxy'nizin x-forwarded-prefix başlığını ekleyip eklemediğini anlayamıyorum.

+0

Bu soruna bir süre önce rastladım, ama daha da karmaşık bir durum vardı: http: // local/api/people' -> http: // backend/context/people'. Arka uç bağlamını "api" olarak değiştirmek dışında bir çözümüm yoktu. X iletimli önek eklendiğinde bağlamın üzerine yazılıyor mu yoksa içeriğe mi ekleniyor? –

+1

Çalıştı! Sadece bir cevap bulmaya çalışırken bahar kodunu araştırıyordum. Bu yerel bir dağıtım için sadece bir webpack proxy'siydi. Yani aşağıdaki (webpack.config.js) çalıştı: devServer: { contentBase: 'build /', proxy: { '/ api/kişi *': { hedef: 'http: // backend: 8080', rewrite: function (req) { req.headers ['X-Yönlendirilmiş-Önek'] = '/ api/kişi' req.url = req.url.replace (/^\/api \/kişi /, ' '); } }, } bağlantı noktası: 3000 } – dardo

İlgili konular