Перенаправление на 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>