Webmin dan Apache Reverse Proxy

Webmin & Apache Reverse Proxy

Dengan menyediakan apache reverse proxy ke webmin, anda tidak lagi perlu menggunakan IP yang biasanya sukar diingati dan beserta dengan port 10000 untuk mengakses webmin. Langkah ini juga merupakan penyelesaian jika port 10000 tidak dibuka untuk akses dari luar
Port yang biasa dibuka untuk akses laman web sudah tentu merupakan port 80 bagi http dan 443 bagi https.

Di sini saya akan tunjukkan dua pilihan

Webmin dalam Virtualhost melalui Proxy

Apache

Tetapan di bawah adalah untuk Centos dimana folder untuk apache biasanya adalah /etc/httpd dan fail konfigurasi utama pula adalah /etc/httpd/conf/httpd.conf
IP 192.168.0.10 hanyalah contoh. Gantikan dengan ip local bagi server tersebut.
Boleh gantikan fail SSL key dan cert kepada yang sah jika ada

<VirtualHost 192.168.0.10:80>
ServerName webmin.contoh.je
ErrorLog /var/log/httpd/webmin_error_log
CustomLog /var/log/httpd/webmin_access_log combined
RewriteEngine On
RewriteCond %{SERVER_PORT} =80
RewriteRule ^/(.*)$ https://%{SERVER_NAME}:443/$1 [R,L]
</VirtualHost>
<VirtualHost 192.168.0.10:443>
ServerName webmin.contoh.je
ErrorLog /var/log/httpd/webmin-ssl_error_log
CustomLog /var/log/httpd/webmin-ssl_access_log combined
SSLEngine On
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
ProxyRequests Off
ProxyPreserveHost Off
SSLProxyEngine On
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
RewriteRule ^/$ / [R]
ProxyPass / https://127.0.0.1:10000/
ProxyPassReverse / https://127.0.0.1:10000/
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
</VirtualHost>

Webmin

Fail /etc/webmin/config. Tambah baris berikut untuk selesaikan masalah seperti redirect ke 127.0.0.1:10000 walaupun berjaya log masuk ke webmin menggunakan domain/host yang telah ditetapkan

referer=apachehost

Tukarkan apachehost kepada host yang anda gunakan pada apache untuk berhubung dengan webmin menggunakan apache reverse proxy.

Webmin boleh diakses cukup dengan URL seperti https://webmin.contoh.je

Webmin dalam Sub-Directory melalui Proxy

Jika anda cuma mahu akses webmin mengunakan host sediaada dan webmin seolah-olah sub-directory kepada host tersebut, lakukan cara yang berikut.

Apache

Tambah baris berikut pada konfigurasi virtualhost pilihan dan yang mengunakan port 443. Untuk keselamatan, kita mahu akses ke webmin adalah menggunakan https.

ProxyPass /webmin/ http://127.0.0.1:10000/
ProxyPassReverse /webmin/ http://127.0.0.1:10000/
RewriteRule ^/webmin$ /webmin/ [R]

Saya dah pernah cuba ProxyPass /webmin sahaja (tanpa slash selepas webmin). Hasilnya, boleh akses webmin tapi tak berjaya login. Kalau ProxyPass /webmin/ pula, anda perlu akses pada browser dengan menyertakan sekali / selepas /webmin ataupun tambah 'RewriteRule ^/webmin$ /webmin/ [R]' supaya <url>/webmin akan ditukarkan kepada /webmin/. Jika tidak, browser akan maklumkan bahawa laman tidak ditemui.

Webmin

Buka fail /etc/webmin/config. Ubah atau tambah baris-baris berikut. Untuk apachehost, jangan lupa tukarkan kepada nama host yang anda gunakan.

webprefix=/webmin
referer=apachehost

Buka fail /etc/webmin/miniserv.conf. Ubah atau tambah baris-baris berikut.

cookiepath=/webmin
ssl=0
ssl_redirect=0

Selesai. Jangan lupa untuk restart apache dan webmin

2 Replies to “Webmin dan Apache Reverse Proxy

Leave a Reply

Your email address will not be published. Required fields are marked *