Jboss eap 6.4 Конфигурация https не может прослушивать порт 8443 - PullRequest
0 голосов
/ 12 июня 2019

Я использую jboss-eap-6.4 для развертывания моего веб-приложения. Я хочу, чтобы мой сервер поддерживал запросы https.Поэтому я сгенерировал хранилище ключей, используя следующую команду:

 keytool -genkey -v -keystore foo.keystore -alias foo

Я переместил вышеуказанный файл хранилища ключей в D:\\jboss-eap-6.4\\standalone\\configuration\\ и добавил следующий соединитель в файл standalone.xml:

  <subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" native="false">
                <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
                <connector name="https" socket-binding="https" scheme="https" protocol="HTTP/1.1" secure="true" enable-lookups="false">
                <ssl name="foo-ssl" protocol="TLSv1" certificate-key-file="D:\\jboss-eap-6.4\\standalone\\configuration\\foo.keystore" key-alias="foo" password="secret"/>
                </connector>
                <virtual-server name="default-host" enable-welcome-root="true">
                    <alias name="localhost"/>
                    <alias name="example.com"/>
                </virtual-server>
 </subsystem>

httpsпорт настроен на порт 8443:

<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
    <socket-binding name="management-native" interface="management" port="${jboss.management.native.port:9999}"/>
    <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
    <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9443}"/>
    <socket-binding name="ajp" port="8009"/>
    <socket-binding name="http" port="8080"/>
    <socket-binding name="https" port="8443"/>
    <socket-binding name="remoting" port="4447"/>
    <socket-binding name="txn-recovery-environment" port="4712"/>
    <socket-binding name="txn-status-manager" port="4713"/>
    <outbound-socket-binding name="mail-smtp">
        <remote-destination host="localhost" port="25"/>
    </outbound-socket-binding>
</socket-binding-group>

Затем я попытался получить доступ к URL-адресу, используя номер порта 8443 (через https), но приложение не может прослушивать порт.Любая идея, что мне здесь не хватает?

Детали ошибки: В IE Edge:

Can’t connect securely to this page
This might be because the site uses outdated or unsafe TLS security settings. If this keeps happening, try contacting the website’s owner.

Your TLS security settings aren’t set to the defaults, which could also be causing this error.
Try this:
Go back to the last page

В Firefox:

Secure Connection Failed

An error occurred during a connection to hddt0719:8443. Cannot communicate securely with peer: no common encryption algorithm(s). Error code: SSL_ERROR_NO_CYPHER_OVERLAP

    The page you are trying to view cannot be shown because the authenticity of the received data could not be verified.
    Please contact the website owners to inform them of this problem.

Learn more…

Report errors like this to help Mozilla identify and block malicious sites

1 Ответ

0 голосов
/ 13 июня 2019

Вы должны изменить способ, хранилище ключей генерируется, используйте команду

 keytool -genkey -keystore foo.keystore -alias foo -keyalg "RSA" -sigalg "SHA1withRSA" -keysize 2048 -validity 365

По умолчанию keytool генерирует хранилище ключей типа DSA, вы должны предоставить хранилище ключей типа RSA. Я проверил ключи обоих типов, мой jBoss работал с RSA ssl keystore, сгенерированным предлагаемым способом. Ваша конфигурация jBoss верна.

...