DirectAdmin through a reverse proxy
how to run directddmin through a reverse proxy
how to run directddmin through a reverse proxy
Apache Proxy Module
/usr/sbin/httpd -l | grep mod_proxy
mod_proxy.c
mod_proxy_connect.c
mod_proxy_ftp.c
mod_proxy_http.c
mod_proxy_fcgi.c
mod_proxy_scgi.c
mod_proxy_uwsgi.c
mod_proxy_fdpass.c
mod_proxy_wstunnel.c
mod_proxy_ajp.c
mod_proxy_balancer.c
mod_proxy_express.c
mod_proxy_hcheck.c
Create a domain or sub.domain.com on DirectAdmin
Modify httpd.conf
for that user
httpd.conf
for that userfor port 80
<VirtualHost 5.63.13.22:80 >
ServerName www.directadmin.shakiba.net
ServerAlias www.directadmin.shakiba.net directadmin.shakiba.net
ProxyRequests Off
ProxyPass / http://localhost:2222/
ProxyPassReverse / http://localhost:2222/
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
for port 443
<VirtualHost 5.63.13.22:443 >
SSLEngine on
SSLCertificateFile /etc/httpd/conf/ssl.crt/dalogin.crt
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/dalogin.key
SSLCACertificateFile /etc/httpd/conf/ssl.crt/dalogin.ca
ServerName www.directadmin.shakiba.net
ServerAlias www.directadmin.shakiba.net directadmin.shakiba.net
# you have other code
# you have other code
# you have other code
# Additional parameters for Apache 2.4
SSLProxyVerify none
SSLProxyCheckPeerCN Off
SSLProxyCheckPeerName Off
ProxyPreserveHost Off
ProxyRequests Off
ProxyPass / http://localhost:2222/
ProxyPassReverse / http://localhost:2222/
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
note
if we have more than one application to proxy for (here it is DA) it is better to use <location>
directive in Apache configuration file like so
ProxyRequests Off
# first location for root /
<Location />
ProxyPass http://localhost:2222/
ProxyPassReverse http://localhost:2222/
</Location>
# second location for /phpmyadmin
<Location /phpmyadmin>
ProxyPass http://localhost/phpmyadmin/
ProxyPassReverse http://localhost/phpmyadmin/
</Location>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}/$1
</VirtualHost>
Disable check_referer
in directadmin.conf
check_referer
in directadmin.conf
cd /usr/local/directadmin/conf/
vim directadmin.conf
# add
check_referer=0
# save and quit
Restart DA and HTTPD
systemctl restart httpd
systemctl restart directadmin
Screenshots
before login

after login

references
Last updated
Was this helpful?