Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Настройка сайта

Для работы RutokenKeybox Рутокен KeyBox требуется создать сайт в Apache, чтобы он обслуживал запросы и отправлял их на проксируемый адрес (сервис RutokenKeybox Рутокен KeyBox).

  1. Создайте файл сайта /etc/apache2/sites-available/SERVER_FQDN.conf

    sudo touch /etc/apache2/sites-available/SERVER_FQDN.conf

  2. Заполните файл рекомендуемым содержимым:

    В параметрах SSLCertificateFile и SSLCertificateKeyFile указаны пути к созданным/импортированным в предыдущих шагах файлам сертификата и закрытого ключа, требуется проверить указанные пути и имена файлов.

    <VirtualHost *:80>
        RewriteEngine On
        RewriteCond %{HTTPS} !=on
        RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}/$1 [R=301,L]
    </VirtualHost>
     
    <VirtualHost *:443>
        Protocols h2 http/1.1
        SSLCertificateFile /etc/apache2/ssl/SSL.crt
        SSLCertificateKeyFile /etc/apache2/ssl/SSL.key
        SSLCipherSuite @SECLEVEL=1:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384  
         
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
     
        SSLEngine on
        SSLProtocol -all +TLSv1.2
        SSLHonorCipherOrder off
        SSLCompression off
        SSLSessionTickets on
        SSLUseStapling off
        SSLProxyEngine on
        SetEnv nokeepalive ssl-unclean-shutdown
        RequestHeader set X-Forwarded-Proto https
        Header always set Strict-Transport-Security "max-age=63072000"
     
        ProxyPreserveHost On
     
            ProxyPass /cm/mc http://localhost:5001/cm/mc
            ProxyPassReverse /cm/mc http://localhost:5001/cm/mc
     
            ProxyPass /cm/ss http://localhost:5002/cm/ss
            ProxyPassReverse /cm/ss http://localhost:5002/cm/ss
     
            ProxyPass /cm/rss http://localhost:5003/cm/rss
            ProxyPassReverse /cm/rss http://localhost:5003/cm/rss
     
            ProxyPass /cm/api http://localhost:5004/cm/api
            ProxyPassReverse /cm/api http://localhost:5004/cm/api
     
            ProxyPass /cm/credprovapi http://localhost:5005/cm/credprovapi
            ProxyPassReverse /cm/credprovapi http://localhost:5005/cm/credprovapi
     
            ProxyPass /cm/oidc http://localhost:5008/cm/oidc
            ProxyPassReverse /cm/oidc http://localhost:5008/cm/oidc
     
            ProxyPass /cm/wizard http://localhost:5009/cm/wizard
            ProxyPassReverse /cm/wizard http://localhost:5009/cm/wizard
     
    </VirtualHost>
     
    <VirtualHost *:3003>
        protocols h2 http/1.1
     
        SSLCertificateFile /etc/apache2/ssl/SSL.crt
        SSLCertificateKeyFile /etc/apache2/ssl/SSL.key
        SSLCipherSuite @SECLEVEL=1:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384                  
     
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
     
        SSLEngine on
        SSLProtocol -all +TLSv1.2
        SSLHonorCipherOrder off
        SSLCompression off
        SSLSessionTickets on
        SSLUseStapling off
        SSLProxyEngine on
        RequestHeader set X-Forwarded-Proto https
        Header always set Strict-Transport-Security "max-age=63072000"
     
            ProxyPass /agentregistrationapi http://localhost:5006/agentregistrationapi
            ProxyPassReverse /agentregistrationapi http://localhost:5006/agentregistrationapi
     
        <Location "/agentserviceapi">
            SSLVerifyClient optional_no_ca
            SSLOptions +ExportCertData
            RequestHeader unset x-ssl-client-cert
            RequestHeader set x-ssl-client-cert "expr=%{escape:%{SSL_CLIENT_CERT}}"
            #RequestHeader set x-ssl-client-cert "expr=%{escape:%{SSL_CLIENT_S_DN}}"
     
            ProxyPass http://localhost:5007/agentserviceapi
            ProxyPassReverse http://localhost:5007/agentserviceapi
        </Location>
    </VirtualHost>

  3.  Перечитайте файл конфигурации и включите файл сайта:

    sudo a2ensite SERVER_FQDN
    sudo apachectl configtest
    sudo systemctl restart apache2