+19
Completed

Support Ajenti behind a reverse proxy

Barry Allard 8 years ago updated by Eugene Pankov (Project coordinator) 7 years ago 11
Instead of

    http[|s]://server:port/

Ajenti should be installable (or at least work with) another url

    http[|s]://server:port/some/other/path

Answer

-1
Answer
Completed

Complete in 1.x: 

I've prefixed all Ajenti URLs with "/ajenti:". See the instructions for nginx here: http://docs.ajenti.org/man/reverse-proxy.html

Declined

Unfortunately this won't be supported anytime soon because of problems with socket.io compatibility. Instead consider setting up nginx or other reverse proxy to forward requests on a specific port without a sub-URI.

This not-implemented feature prevents accessing ajenti through proxys via https (due to security restrictions on proxy) in case the hosted server needs to host a secure website on port 443 already.

I think I'm not the only one with such scenario. 

Is there any chance of implementation? 

-1
Answer
Completed

Complete in 1.x: 

I've prefixed all Ajenti URLs with "/ajenti:". See the instructions for nginx here: http://docs.ajenti.org/man/reverse-proxy.html

Thumbs up!!! When it is released?

Public beta will be available sometime July, but you can get early access here: http://ajenti.org/testpilot

Hello,


does anyone have a sample configuration for reverse proxying on an apache server.

I have partial success by adding following lines in the virtual host config file:

ProxyRequests Off

ProxyPass /ajenti/ http://localhost:8000/
ProxyPassReverse /ajenti/ http://localhost:8000/


But I can not login. The logon page does not respond and is just displayed by basic textboxes...

What's missing?

Hi Martin!


Please take a look at our NGINX example: http://docs.ajenti.org/man/reverse-proxy.html

You need to proxy URLs starting with "/ajenti", not only "/ajenti/":  I guess the correct configuration would be 


ProxyPass /ajenti http://localhost:8000/
ProxyPassReverse /ajenti http://localhost:8000/


Hi Eugeny,


unfortenately, that doesn't work. Do I have to change any settings in ajenti.conf?

Another question to me is why I can't access ajenti through http(s)://TheHost:8000/ajenti

In that case, it will return invalid URL. Didn't you write all ajenti URL are prefixed, now?

OK, Thx. Do you have any idea why this isn't working?


Perhaps an apache specialist has the answer?

Currently, I'm trying it via http and that's all i get:


Best regards!

Hi Eugeny,


thx for that information. It was more than that, for example /ajenti:auth as well. The ProxyPassMatch gets them all.


Following lines work for me on Apache 2.2.22


ProxyPass /ajenti http://localhost:8000
ProxyPassMatch ^/(ajenti.*)$ http://localhost:8000/$1

ProxyPassReverse /ajenti:static/ http://localhost:8000/ajenti:static/
ProxyPassReverse /ajenti:auth http://localhost:8000/ajenti:auth
ProxyPassReverse /ajenti http://localhost:8000


Don't know if all ProxypassReverse statements are neccessary.