ไม่สามารถรับ mod_proxy เพื่อส่งต่ออักขระ slash (/) ที่เข้ารหัส (% 2f) ได้อย่างถูกต้อง


11

ฉันมีโฮสต์เสมือนสร้างขึ้นมาเพื่อการเปลี่ยนเส้นทาง->ntung-gitblit.localhost myserver:1279อย่างไรก็ตามมันไม่ทำงานกับเครื่องหมายทับที่เข้ารหัสไปข้างหน้า ( %2f) URL ที่ฉันพยายามเข้าถึงคือ

http://ntung-gitblit.localhost/ABC%2fXYZ

หากไม่มีAllowEncodedSlashesก็ล้มเหลว - apache พยายามเข้าถึง/error/HTTP_NOT_FOUND.html.varบนเซิร์ฟเวอร์ การตั้งค่าAllowEncodedSlashesเพื่อOnผลในการตีภายใน URL ต่อไปนี้

http://myserver:1279/ABC/XYZ

และการตั้งค่าAllowEncodedSlashesเพื่อNoDecodeผลลัพธ์ใน URL ที่ถูกตีต่อไปนี้

http://myserver:1279/ABC%252fXYZ

ในคำอื่น ๆ ก็คือการหลบหนีมากเกินไปหรือต่ำกว่าการหลบหนี คำถาม : ฉันจะทำให้มันตีได้myserver:1279/ABC%2fXYZอย่างไร

คำตอบ:


12

ขออภัยเพิ่งได้รับมัน (คำตอบที่ 3 ที่นี่ ) ทางออกคือการใช้nocanonในProxyPassคำสั่ง

AllowEncodedSlashes On
ProxyPass / http://myserver:1279/ nocanon

ฉันสามารถลบคำถามได้หากไม่เป็นประโยชน์อีกต่อไป


ขอบคุณที่ไม่ได้เป็น DenverCooper9 xkcd.com/979
Portablejim
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.