Перенаправление на HTTPS
Перенаправление на HTTPS
Для работы веб-интерфейса Termidesk по безопасному протоколу HTTPS, используются настройки веб-сервера apache
для перенаправления запроса с протокола HTTP на HTTPS.
Перенаправление на HTPS настроено по умолчанию после установки Termidesk. При необходимости использования незащищенного протокола HTTP администратор должен изменить файл /etc/apache2/sites-available/termidesk.conf
, раскомментировав настройки VirtualHost и закомментировав настройки HTTPS. Шаблон файла для протокола HTTP представлен ниже.
Настройки перенаправления задаются в конфигурационном файле /etc/apache2/sites-available/termidesk.conf
. После внесения любых изменений в этот файл необходимо перезапустить службу apache2
:
sudo systemctl restart apache2
Шаблон части конфигурационного файла для протокола HTTPS:
Представлены только шаблоны конфигурационного файла! Изменение конфигурации не должно выполняться копированием представленного шаблона.
# Сайт для принудительного перенаправления на протокол HTTPS. <VirtualHost *:80> ServerName #HOSTNAME# RewriteEngine On 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 / 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 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 (конфигурация 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 / 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>