Доступ администратора к EJBCA выдает ошибку "intrerrupted во время загрузки страницы"

Я не хочу использовать EJBCA с сервером приложений Wildfly (JBoss) в качестве инфраструктуры PKI.

Я могу получить доступ

http://127.0.0.1:8080/ejbca/

https://127.0.0.1:8442/ejbca/

но нет

https://127.0.0.1:8443/ejbca/adminweb/

Тогда я получу с Firefox:

Соединение с 127.0.0.1:8443 было прервано во время загрузки

С wireshark я вижу FIN ACK сервера приложений.

Я использую виртуальную машину Ubuntu 16.04.2 LTS AMD64 с Java

java -version
openjdk version “1.8.0_131”
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-0ubuntu1.16.04.2-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)

и с EJBCA ejbca_ce_6_5.0.5.zip

и с сервером приложений Wildfly (JBoss) wildfly-10.0.0.Final.zip

и с MariaDB, который, кажется, работает хорошо, за исключением вышеупомянутого доступа Администрации в GUI.

Конфигурация похожа на ту, которую я нашел на странице установки EJBCA. Кажется, что часть с портом 8443 была неправильно настроена. У вас есть подсказка для меня, чтобы найти решение для моей проблемы?

С уважением

drnie

Для деталей конфигурации, пожалуйста, посмотрите на следующие строки:

----------------------- НАЧАТЬ КОНФИГ -----------------------

настройка MariaDB после распаковки, так как пользователь ejbca настроил следующие файлы

установка пароля хранилища ключей

$EJBCA_HOME /conf/cesecore.properties

настройка свойств базы данных (имя БД, URL БД, драйвер БД, имя пользователя БД и пароль БД)

$EJBCA_HOME /conf/database.properties

установка пароля хранилища ключей cms и домашнего сервера приложений

$EJBCA_HOME /conf/ejbca.properties

сохранил все настройки...

$EJBCA_HOME /conf/install.properties

Добавлен пользователь управления с

cd /home/ejbca/wildfly-10.0.0.Final/bin/
./add-user.sh

запущен сервер приложений Wildfly

--- Добавить источник данных ---

открыл интерфейс уровня вызова

/home/ejbca/wildfly-10.0.0.Final/bin/jboss-cli.sh -c

ввел команды

data-source add --name=ejbcads --driver-name="mariadb-java-client-1.2.0.jar" --connection-url="jdbc:mysql://127.0.0.1:3306/ejbca" --jndi-name="java:/EjbcaDS" --use-ccm=true --driver-class="org.mariadb.jdbc.Driver" --user-name="ejbca" --password="ejbca" --validate-on-match=true --background-validation=false --prepared-statements-cache-size=50 --share-prepared-statements=true --min-pool-size=5 --max-pool-size=150 --pool-prefill=true --transaction-isolation=TRANSACTION_READ_COMMITTED --check-valid-connection-sql="select 1;"
:reload

--- Настроить WildFly Remoting ---

/subsystem=remoting/http-connector=http-remoting-connector:remove
/subsystem=remoting/http-connector=http-remoting-connector:add(connector-ref="remoting",security-realm="ApplicationRealm")
/socket-binding-group=standard-sockets/socket-binding=remoting:add(port="4447")
/subsystem=undertow/server=default-server/http-listener=remoting:add(socket-binding=remoting)
:reload

--- Настроить ведение журнала ---

/subsystem=logging/logger=org.ejbca:add
/subsystem=logging/logger=org.ejbca:write-attribute(name=level, value=DEBUG)
/subsystem=logging/logger=org.cesecore:add
/subsystem=logging/logger=org.cesecore:write-attribute(name=level, value=DEBUG)
:reload

--- Удалить существующую конфигурацию TLS и HTTP ---

/subsystem=undertow/server=default-server/http-listener=default:remove
/subsystem=undertow/server=default-server/https-listener=https:remove
/socket-binding-group=standard-sockets/socket-binding=http:remove
/socket-binding-group=standard-sockets/socket-binding=https:remove
:reload

выход из командной строки CLI

перезапущен сервер приложений wildfly

--- Развернуть EJBCA ---

ant clean deployear

--- Запустите установку ---

ant runinstall

--- Развернуть TLS хранилища ключей в WildFly ---

ant deploy-keystore

в оболочке CLI

/interface=http:add(inet-address="0.0.0.0")
/interface=httpspub:add(inet-address="0.0.0.0")
/interface=httpspriv:add(inet-address="0.0.0.0")
/socket-binding-group=standard-sockets/socket-binding=http:add(port="8080",interface="http")
/subsystem=undertow/server=default-server/http-listener=http:add(socket-binding=http)
/subsystem=undertow/server=default-server/http-listener=http:write-attribute(name=redirect-socket, value="httpspriv")
:reload

ожидание перезагрузки для завершения Настройте удостоверения и привязки сокетов:

/core-service=management/security-realm=SSLRealm:add()
/core-service=management/security-realm=SSLRealm/server-identity=ssl:add(keystore-path="${jboss.server.config.dir}/keystore/keystore.jks", keystore-password="serverpwd", alias="localhost")
/core-service=management/security-realm=SSLRealm/authentication=truststore:add(keystore-path="${jboss.server.config.dir}/keystore/truststore.jks", keystore-password="changeit")
/socket-binding-group=standard-sockets/socket-binding=httpspriv:add(port="8443",interface="httpspriv")
/socket-binding-group=standard-sockets/socket-binding=httpspub:add(port="8442", interface="httpspub")

перезапустите сервер приложений полностью, а затем

/subsystem=undertow/server=default-server/https-listener=httpspriv:add(socket-binding=httpspriv, security-realm="SSLRealm", verify-client=REQUIRED)
/subsystem=undertow/server=default-server/https-listener=httpspub:add(socket-binding=httpspub, security-realm="SSLRealm")
:reload

--- Завершить настройки Wildfly ---

/system-property=org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH:add(value=true)
/system-property=org.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH:add(value=true)
/system-property=org.apache.catalina.connector.URI_ENCODING:add(value="UTF-8")
/system-property=org.apache.catalina.connector.USE_BODY_ENCODING_FOR_QUERY_STRING:add(value=true)
/subsystem=webservices:write-attribute(name=wsdl-host, value=jbossws.undefined.host)
/subsystem=webservices:write-attribute(name=modify-wsdl-address, value=true)
:reload

----------------------- END CONFIG -----------------------

1 ответ

Я знаю, что это старый, но держу пари, что у вас не было имя хоста, установленное в web.properties. Вам нужно установить httpsserver.hostname =myejbcaservername (по умолчанию localhost).

Также попробуйте использовать FireFox. Он имеет собственное хранилище сертификатов (отдельно от хранилища сертификатов ОС) и лучше работает при управлении PKI.

Кроме того, перезапустите браузер, если у вас установлен сертификат суперадмина. Если вы нажали «Отмена» или что-то сделали, обычно не происходит повторных переговоров, пока вы не воспользуетесь приватным окном просмотра или не перезапустите браузер.

Другие вопросы по тегам