Tôi có một dịch vụ REST chấp nhận các thông số trong một hình thức/{parameter}Apache url mod_proxy mã hóa
Cũng có Apache2 chuyển tiếp yêu cầu đến websevice
<VirtualHost *:9091>
AllowEncodedSlashes NoDecode
LogLevel debug
ProxyPass /webservice balancer://api/webservice
<Proxy balancer://api>
BalancerMember http://localhost:8030
</Proxy>
</VirtualHost>
Các thông số có thể chứa các ký tự mã hóa, như % 2f (/)
vấn đề là Apache mã hóa những nhân vật này một lần nữa, và Webservice nhận% 252F thay vì% 2F
[Mon Oct 15 13:59:24 2012] [debug] mod_proxy_balancer.c(46): proxy: BALANCER: canonicalising URL //api/webservice/Interface GigabitEthernet1%2F0%2F2
[Mon Oct 15 13:59:24 2012] [debug] mod_proxy_balancer.c(581): proxy: BALANCER (balancer://api) worker (http://localhost:8030) rewritten to http://localhost:8030/Interface%20GigabitEthernet1%252F0%252F2%20Utilization
Nếu tôi yêu cầu webservice trực tiếp, Tomcat/Jetty xử lý tìm và dịch vụ nhận được thông số chính xác.