← Назад к списку статей

Инструкция по настройке SSL подключения через Apache (для использования https в Веб Сервере Xeoma)

 
 
1) Установить сервер apache

sudo apt-get install apache2
 

2) Включаем на сервере apache поддержку ssl

sudo a2enmod ssl
sudo a2ensite default-ssl
 
 
После чего перезапускаем сервер apache, чтобы настройки применились

sudo service apache2 restart

 
3) Создаем папку

sudo mkdir /etc/apache2/ssl/
  
 
4) Копируем в данную папку свой сертификат (PublicCertificate.crt) и ключ (PrivateKey.key). Самоподписаные сертификаты можно сгенерировать при помощи openssl. Инструкция ниже
 
5) На сервере apache включаем поддержку нужных нам модулей
 
sudo a2enmod headers
sudo a2enmod rewrite
sudo a2enmod proxy
sudo a2enmod proxy_http
  
 
После чего перезапускаем сервер apache, чтобы настройки применились
 
sudo service apache2 restart
  
 
6) Редактируем файл
 
/etc/apache2/sites-enabled/default-ssl.conf

 
По примеру
  
<VirtualHost *:443>
               ServerAdmin webmaster@localhost
                ServerName  localhost:443
                ServerAlias *:443
 
 
                # Disable Logging
                #LogLevel info ssl:warn
                LogLevel crit ssl:crit
                SetEnv dontlog 1
                LogFormat "%h %l %u [%{%d/%b/%Y %T}t.%{msec_frac}t %{%z}t] \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{refid}C\" %D" comb$
                CustomLog ${APACHE_LOG_DIR}/xeoma_access.log combinedtracking env=!dontlog
                ErrorLog  ${APACHE_LOG_DIR}/xeoma_error.log
 
                RewriteEngine on
                SSLEngine on
                SSLProtocol all -SSLv3 -SSLv2
                SSLCertificateFile      /etc/apache2/ssl/PublicCertificate.crt
                SSLCertificateKeyFile   /etc/apache2/ssl/PrivateKey.key
                RewriteRule "^(.*)/$" http://localhost:10090$1 [P,L]
                <proxy>
                        Require all granted
                        ProxyPass http://localhost:10090/
                        RequestHeader set X-Forwarded-Proto "http"  expr=%{HTTPS}!='on'
                        RequestHeader set X-Forwarded-Proto "https" expr=%{HTTPS}=='on'
                </proxy>
                BrowserMatch "MSIE [2-6]" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
                BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
        </VirtualHost>
 
 
 
После чего перезапускаем сервер apache, чтобы настройки принялись
 
sudo service apache2 restart

Готово. Теперь при подключении к Веб серверу Xeoma по порту 443 будет использовано ssl-шифрование.


Дополнительно: Инструкция создания самоподписного сертификата

Создание самоподписанного сертификата для домена DNSofMyDomainHERE.com

echo "distinguished_name = req_distinguished_name"  >openssl.conf
echo "[ req_distinguished_name ]"                   >>openssl.conf
echo "basicConstraints = CA:true"                   >>openssl.conf
echo "[ req_ext ]"                                  >>openssl.conf
echo "subjectAltName = @alt_names"                  >>openssl.conf
echo "[alt_names]"                                  >>openssl.conf
echo "DNS.1   = ns1.DNSofMyDomainHERE.com"          >>openssl.conf
echo "DNS.2   = ns2.DNSofMyDomainHERE.com"          >>openssl.conf
openssl req -new -batch -outform PEM -out MyDomainHERE.com.crt -newkey rsa:2048 -nodes -keyout MyDomainHERE.com.key -keyform PEM -days 99999 -x509 \
  -subj "/C=US/ST=XX/O=MyDomainHERE.com/localityName=MyDomainHERE/organizationName=MyDomainHERE/commonName=MyDomainHERE.com/" -config openssl.conf
rm openssl.conf

 
Поместить в папку /etc/apache2/ssl/

sudo chown root MyDomainHERE.com.crt MyDomainHERE.com.key
sudo chmod 0600 MyDomainHERE.com.crt MyDomainHERE.com.key
mv MyDomainHERE.com.crt      /etc/apache2/ssl/MyDomainHERE.com.crt
mv MyDomainHERE.com.key      /etc/apache2/ssl/MyDomainHERE.com.key

  
Внимание! На каждом клиентском компьютере скачать сертификат, чтобы браузер не выдавал ошибку:
MyDomainHERE.com.crt -> “Установить”. “Поместить все сертификаты в следующее хранилище” -> “Обзор” -> “Доверенные корневые центры сертификации” -> “OK”. Далее, Готово, Да.
 

5 сентября 2018

Также читайте:
Веб сервер Xeoma
Шифрование передачи данных (TLS)
Как настроить облачное хранилище с Xeoma Cloud
Как настроить Xeoma под Ваш прокси сервер