Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I lose some HTTP Headers contents when using mod_proxy on reverse proxy my internal tomcat server.

Here is the environment of my server:

  • Apache2.2.10-2.24.5 on SuSE Linux 11 SP 1
  • Tomcat 6.0

Apache listens on eth3, there are two configured network interfaces.

Any one know how to resolve this? I don't want to write a module to retain the headers, actually.

It works on previous version of Apache, like 2.2.10-2.18.

EDIT1

The lost headers are like "HTTP_X_CALLING_UP_ID" and "HTTP_X_BETYPE",etc. They are added by gateway.
The config of proxy in Apache's httpd.conf is

ProxyPass /foo http://192.168.1.100/bar   
ProxyPassReverse /foo http://192.168.1.100/bar  

I can get the above headers in Apache, but lost while I try get them in Tomcat. And the exactly same configuration works on another test server running SuSE 11, but with one network interface card.

Should I upgrade the Apache to 2.2.24 the stable version?

EDIT2

I just browser my server using IP instead of domain name, and this time, I can get the lost headers. But, when I use the domain name, the headers lost again.

EDIT3 and SOLVED

Like @Krist van Besien said, the problem was introduced by the gateway. It did not transfer those http headers while user accessing my server by domain name.

Problem solved, and thanks.

share|improve this question
1  
Can you tell us which headers you are losing? Can you show us your config? –  Krist van Besien Mar 29 '13 at 10:43
    
@Krist van Besien I just edited my question –  jasen.yin Mar 30 '13 at 2:32
    
I see that you have two test cases, in one case the headers arrive at your tomcat server, in the other they don't. Are you however certain that the apache server is getting these headers in both cases? You say there is a gateway adds these headers. Maybe you're problem is there. On was to find out what the apache server is actually receiving is to just snoop on the network. Or you can use mod_log_forensic –  Krist van Besien Mar 30 '13 at 7:58
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.