Bunun yerine ters proxy desteğini kullanmayı deneyin . Örnek bir location
bölüm şöyle olabilir:
location / {
proxy_pass http://localhost:8080;
proxy_redirect http://localhost:8080/ /;
proxy_read_timeout 60s;
# May not need or want to set Host. Should default to the above hostname.
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Bu örnek, bu server
bloğa gelen tüm istekleri çalışan ikinci bir sunucuya geçirecektir localhost:8080
. Bu POST
, bir sorun haline gelirse diğer istek türlerini de korur ve korumalıdır.
Sorun, harici yönlendirmelerin aslaPOST
verileri yeniden göndermeyecek olmasıdır . Bu HTTP spesifikasyonuna yazılır (3xx bölümünü kontrol edin). Bunu yapan herhangi bir müşteri spesifikasyonu ihlal ediyor.
301/302 durum kodu GET veya HEAD dışındaki bir isteğe yanıt olarak alınırsa, kullanıcı aracısı, kullanıcı tarafından onaylanmadıkça isteği otomatik olarak yeniden yönlendirmemelidir ZORUNLU, bu, isteğin verildiği koşulları değiştirebilir .
Çoğu tarayıcının, yeniden yönlendirilen isteği bir GET
istek olmaya zorlayarak bunu uyguladığından oldukça eminim . Teorik olarak, teknik özellik, kullanıcıya POST
verileri yeniden yönlendirip yönlendirmeyeceğini soracak bir tarayıcıya izin verir , ancak şu anda bunu yapanların farkında değilim.