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