With apache it is possible to have a reverse proxy with AJP instead of http. With the use of mod_proxy_ajp it is very simple to set up and faster than just plain http protocol
<VirtualHost *:80> ServerName jenkins DocumentRoot "/mario/Apache22/htdocs" <Directory "/mario/Apache22/htdocs"> Options Indexes Includes FollowSymLinks AllowOverride All Order Allow,Deny Allow from all Deny from none </Directory> <Location /> ProxyPass ajp://localhost:8009/ ProxyPassReverse ajp://localhost:8009/ </Location> SetEnv vhostname jenkins Header add X-Server-Name %{vhostname}e </virtualhost>
Than start the backend server, in this case only with AJP and listen only on localhost
java -jar jenkins.war --httpPort=-1 --ajp13ListenAddress=127.0.0.1
RequestHeader setifempty x-forwarded-for %{REMOTE_ADDR}s
Header add x-forwarded-for %{REMOTE_ADDR}s