2013-02-12 43 views
1

我有一個使用mod_proxy_ajp將請求轉發到tomcat服務器的apache。當請求到達時,它似乎失去了我的價值觀。當請求直接傳遞給tomcat時,這很好,所以它看起來像apache剝離了值。mod_proxy_ajp正在剝離的cookie值

任何幫助,將不勝感激。

瀏覽器
的myCookie
值= ID = 12345
路徑=/
域= mydomain.org

的Tomcat
的myCookie
值= ID
路徑= null
Domain = null

配置:

LoadModule proxy_module     /usr/lib64/apache2-prefork/mod_proxy.so 
LoadModule proxy_ajp_module     /usr/lib64/apache2-prefork/mod_proxy_ajp.so 
LoadModule rewrite_module     /usr/lib64/apache2-prefork/mod_rewrite.so 
<VirtualHost *:80> 
ServerName server.domain.org 
ServerAlias server.domain.org 
Header set Access-Control-Allow-Origin "*" 
Header set Access-Control-Allow-Methods "GET,POST,OPTIONS" 
Header set Access-Control-Allow-Headers "content-type,x-requested-with" 

RewriteEngine on 
RewriteRule ^/$ /vaultWeb [PT] 

<Directory /> 
Options All 
Order Deny,Allow 
Allow from all 
</Directory> 

ProxyRequests off 

<Proxy *> 
Order Deny,Allow 
Allow from all 
</Proxy> 

<Location /> 
Order Deny,Allow 
Allow from all 
</Location> 

ProxyPass /app1 ajp://localhost:18009/app1 
ProxyPass /app2 ajp://localhost:8009/app2 
ProxyPass /app3 ajp://localhost:8009/app3 
ProxyPass /app4 ajp://localhost:18009/app4 
ProxyPass /app5 ajp://localhost:9008/app5 
</VirtualHost> 
+0

所以進一步的調查顯示等號是問題。如果cookie只是值而不是ID = thevalue,那麼get的值就會被傳入。不過還是一個問題,因爲價值可能具有相同的標誌,並且它們也被剝離。 – wellmstein 2013-02-18 17:12:53

回答

0

好吧,似乎Apache或Tomcat的是「幫助」,由於該cookie是0版本,而不是通過規範批准的任何字符都被刪除。在這種情況下,等號(以及其後的任何內容)。由於我無法控制設置cookie的服務器,我可以說服他們做的最好的方法是對cookie進行編碼,然後使用URLDecoder對該值進行解碼。繁榮等號和一切。