5.3.5.1. Настройка HTTPS для UberJAR

Ниже приведен пример настройки HTTPS с самоподписанным сертификатом для развертывания UberJAR.

  1. Сгенерируйте ключи и сертификаты, используя встроенную JDK-утилиту Java Keytool:

    keytool -keystore keystore.jks -alias jetty -genkey -keyalg RSA
  2. В корневом каталоге проекта создайте файл конфигурации SSL jetty.xml:

    <Configure id="Server" class="org.eclipse.jetty.server.Server">
        <Call name="addConnector">
            <Arg>
                <New class="org.eclipse.jetty.server.ServerConnector">
                    <Arg name="server">
                        <Ref refid="Server"/>
                    </Arg>
                    <Set name="port">8090</Set>
                </New>
            </Arg>
        </Call>
        <Call name="addConnector">
            <Arg>
                <New class="org.eclipse.jetty.server.ServerConnector">
                    <Arg name="server">
                        <Ref refid="Server"/>
                    </Arg>
                    <Arg>
                        <New class="org.eclipse.jetty.util.ssl.SslContextFactory">
                            <Set name="keyStorePath">keystore.jks</Set>
                            <Set name="keyStorePassword">password</Set>
                            <Set name="keyManagerPassword">password</Set>
                            <Set name="trustStorePath">keystore.jks</Set>
                            <Set name="trustStorePassword">password</Set>
                        </New>
                    </Arg>
                    <Set name="port">8443</Set>
                </New>
            </Arg>
        </Call>
    </Configure>

    Удостоверьтесь, что значения свойств keyStorePassword, keyManagerPassword и trustStorePassword совпадают с паролями, установленными в Keytool.

  3. Включите файл jetty.xml в конфигурацию задачи сборки:

    task buildUberJar(type: CubaUberJarBuilding) {
        singleJar = true
        coreJettyEnvPath = 'modules/core/web/META-INF/jetty-env.xml'
        appProperties = ['cuba.automaticDatabaseUpdate' : true]
        webJettyConfPath = 'jetty.xml'
    }
  4. Соберите Uber JAR, следуя инструкции, описанной в разделе Развертывание UberJAR.

  5. Поместите файл keystore.jks в папку с JAR-файлами собранного приложения и запустите Uber JAR.

    Теперь приложение доступно по адресу https://localhost:8443/app.