Download PDF
Download page Перенаправление на HTTPS.
Перенаправление на HTTPS
Перенаправление на HTTPS
Для того, чтобы веб-интерфейс Termidesk работал по безопасному протоколу HTTPS, используются настройки веб-сервера apache
для перенаправления запроса с протокола HTTP на HTTPS.
Настройки перенаправления задаются в конфигурационном файле /etc/apache2/sites-available/termidesk.conf
. После внесения любых изменений в этот файл необходимо перезапустить службу веб-сервера apache:
:~$ sudo systemctl restart apache2
Перенаправление на HTPS настроено по умолчанию после установки Termidesk. При необходимости использования незащищенного протокола HTTP администратор должен изменить файл /etc/apache2/sites-available/termidesk.conf
, раскомментировав настройки VirtualHost и закомментировав настройки HTTPS.
Пример исходного конфигурационного файла:
#<VirtualHost *:80>
# ServerName #HOSTNAME#
# DocumentRoot /opt/termidesk/share/termidesk-vdi/src
#
# Alias /media/ /opt/termidesk/share/termidesk-vdi/src/media/
# Alias /static/ /opt/termidesk/share/termidesk-vdi/src/static/
#
# <Directory /opt/termidesk/share/termidesk-vdi/src/static>
# Order deny,allow
# Allow from all
# Require all granted
# </Directory>
#
# <Directory /opt/termidesk/share/termidesk-vdi/src/media>
# Order deny,allow
# Allow from all
# Require all granted
# </Directory>
#
# RewriteEngine on
# ProxyTimeout 70
# ProxyPreserveHost On
# ProxyRequests Off
#
# ProxyPassMatch ^/media/ !
# ProxyPassMatch ^/static/ !
#
# ProxyPass /websockify ws://127.0.0.1:5099/ timeout=10800
# ProxyPassReverse /websockify ws://127.0.0.1:5099/ timeout=10800
#
# ProxyPass / http://127.0.0.1:8000/
# ProxyPassReverse / http://127.0.0.1:8000/
#
# RequestHeader set X-Forwarded-Proto expr=%{REQUEST_SCHEME}
#
# ErrorLog ${APACHE_LOG_DIR}/error.log
# CustomLog ${APACHE_LOG_DIR}/access.log combined
#</VirtualHost>
# Сайт для принудительного перенаправления на протокол HTTPS.
<VirtualHost *:80>
ServerName #HOSTNAME#
ProxyPass /websockify ws://127.0.0.1:5099/ timeout=10800
ProxyPassReverse /websockify ws://127.0.0.1:5099/ timeout=10800
RewriteEngine On
RewriteCond "%{REQUEST_URI}" !^/websockify.*
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=308,L]
RequestHeader set X-Forwarded-Proto expr=%{REQUEST_SCHEME}
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerName #HOSTNAME#
DocumentRoot /opt/termidesk/share/termidesk-vdi/src
Alias /media/ /opt/termidesk/share/termidesk-vdi/src/media/
Alias /static/ /opt/termidesk/share/termidesk-vdi/src/static/
<Directory /opt/termidesk/share/termidesk-vdi/src/static>
Order deny,allow
Allow from all
Require all granted
</Directory>
<Directory /opt/termidesk/share/termidesk-vdi/src/media>
Order deny,allow
Allow from all
Require all granted
</Directory>
RewriteEngine on
ProxyTimeout 70
ProxyPreserveHost On
ProxyRequests Off
ProxyPassMatch ^/media/ !
ProxyPassMatch ^/static/ !
ProxyPass /websockify ws://127.0.0.1:5099/ timeout=10800
ProxyPassReverse /websockify ws://127.0.0.1:5099/ timeout=10800
ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/
RequestHeader set X-Forwarded-Proto expr=%{REQUEST_SCHEME}
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
# Для корректной работы Termidesk с MTLS необходимо настроить директивы ниже
# в соответствии с условиями и требованиями окружения инсталляции
# SSLCACertificateFile
# SSLVerifyClient
# SSLVerifyDepth
# Проброс параметров клиентского сертификата в Termidesk
# через набор собственных заголовков
RequestHeader set X-TDSK-SSL_CLIENT_FORMAT 'apache'
RequestHeader set X-TDSK-SSL_CLIENT_S_DN expr=%{SSL_CLIENT_S_DN}
RequestHeader set X-TDSK-SSL_CLIENT_VALIDITY_START expr=%{SSL_CLIENT_V_START}
RequestHeader set X-TDSK-SSL_CLIENT_VALIDITY_END expr=%{SSL_CLIENT_V_END}
RequestHeader set X-TDSK-SSL_CLIENT_VERIFY expr=%{SSL_CLIENT_VERIFY}
RequestHeader set X-TDSK-SSL_CLIENT_CERT expr=%{SSL_CLIENT_CERT}
</VirtualHost>
</IfModule>
Пример конфигурационного файла для работы по незащищенному протоколу HTTP:
<VirtualHost *:80>
ServerName #HOSTNAME#
DocumentRoot /opt/termidesk/share/termidesk-vdi/src
Alias /media/ /opt/termidesk/share/termidesk-vdi/src/media/
Alias /static/ /opt/termidesk/share/termidesk-vdi/src/static/
<Directory /opt/termidesk/share/termidesk-vdi/src/static>
Order deny,allow
Allow from all
Require all granted
</Directory>
<Directory /opt/termidesk/share/termidesk-vdi/src/media>
Order deny,allow
Allow from all
Require all granted
</Directory>
RewriteEngine on
ProxyTimeout 70
ProxyPreserveHost On
ProxyRequests Off
ProxyPassMatch ^/media/ !
ProxyPassMatch ^/static/ !
ProxyPass /websockify ws://127.0.0.1:5099/ timeout=10800
ProxyPassReverse /websockify ws://127.0.0.1:5099/ timeout=10800
ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/
RequestHeader set X-Forwarded-Proto expr=%{REQUEST_SCHEME}
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
# Сайт для принудительного перенаправления на протокол HTTPS.
# <VirtualHost *:80>
# ServerName #HOSTNAME#
# ProxyPass /websockify ws://127.0.0.1:5099/ timeout=10800
# ProxyPassReverse /websockify ws://127.0.0.1:5099/ timeout=10800
# RewriteEngine On
# RewriteCond "%{REQUEST_URI}" !^/websockify.*
# RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=308,L]
# RequestHeader set X-Forwarded-Proto expr=%{REQUEST_SCHEME}
# ErrorLog ${APACHE_LOG_DIR}/error.log
# CustomLog ${APACHE_LOG_DIR}/access.log combined
#</VirtualHost>
# <IfModule mod_ssl.c>
# <VirtualHost _default_:443>
# ServerName #HOSTNAME#
# DocumentRoot /opt/termidesk/share/termidesk-vdi/src
# Alias /media/ /opt/termidesk/share/termidesk-vdi/src/media/
# Alias /static/ /opt/termidesk/share/termidesk-vdi/src/static/
# <Directory /opt/termidesk/share/termidesk-vdi/src/static>
# Order deny,allow
# Allow from all
# Require all granted
# </Directory>
# <Directory /opt/termidesk/share/termidesk-vdi/src/media>
# Order deny,allow
# Allow from all
# Require all granted
# </Directory>
# RewriteEngine on
# ProxyTimeout 70
# ProxyPreserveHost On
# ProxyRequests Off
# ProxyPassMatch ^/media/ !
# ProxyPassMatch ^/static/ !
# ProxyPass /websockify ws://127.0.0.1:5099/ timeout=10800
# ProxyPassReverse /websockify ws://127.0.0.1:5099/ timeout=10800
# ProxyPass / http://127.0.0.1:8000/
# ProxyPassReverse / http://127.0.0.1:8000/
# RequestHeader set X-Forwarded-Proto expr=%{REQUEST_SCHEME}
# ErrorLog ${APACHE_LOG_DIR}/error.log
# CustomLog ${APACHE_LOG_DIR}/access.log combined
# SSLEngine on
# SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
# SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
# Для корректной работы Termidesk с MTLS необходимо настроить директивы ниже
# в соответствии с условиями и требованиями окружения инсталляции
# SSLCACertificateFile
# SSLVerifyClient
# SSLVerifyDepth
# Проброс параметров клиентского сертификата в Termidesk
# через набор собственных заголовков
# RequestHeader set X-TDSK-SSL_CLIENT_FORMAT 'apache'
# RequestHeader set X-TDSK-SSL_CLIENT_S_DN expr=%{SSL_CLIENT_S_DN}
# RequestHeader set X-TDSK-SSL_CLIENT_VALIDITY_START expr=%{SSL_CLIENT_V_START}
# RequestHeader set X-TDSK-SSL_CLIENT_VALIDITY_END expr=%{SSL_CLIENT_V_END}
# RequestHeader set X-TDSK-SSL_CLIENT_VERIFY expr=%{SSL_CLIENT_VERIFY}
# RequestHeader set X-TDSK-SSL_CLIENT_CERT expr=%{SSL_CLIENT_CERT}
# </VirtualHost>
#</IfModule>