+19
Completed

Support Ajenti behind a reverse proxy

Barry Allard 12 years ago updated by Eugene Pankov (Project coordinator) 11 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?

The root access URL itself isn't prefixed, it's still https://<host>:8000

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.