mam dwie różne domenyJBoss Application Server wiele domen i certyfikaty SSL
- example1.com
- example2.com
Każda domena ma swój własny certyfikat SSL.
Co próbuję teraz zrobić, to używanie obu domen dla tej samej instancji WildFly, obsługującej SSL.
Dokumentacja WildFly stwierdza, że mogę odwołać się tylko do pojedynczego certyfikatu w magazynie kluczy. Tak więc nie mogę po prostu zdefiniować pojedynczego <security-realm>
z jednym magazynem kluczy zawierającym oba certyfikaty.
W ten sposób zdefiniowałem dwa różne <security-realm>
. Jeden dla każdej domeny.
<security-realm name="RealmExample1">
<server-identities>
<ssl>
<keystore path="example1.jks" keystore-password="secret" />
</ssl>
</server-identities>
...
</security-realm>
<security-realm name="RealmExample2">
<server-identities>
<ssl>
<keystore path="example2.jks" keystore-password="secret2" />
</ssl>
</server-identities>
...
</security-realm>
Nie mogę jednak dodać dwóch domen bezpieczeństwa do pojedynczego hosta.
<server name="default-server">
<http-listener name="default" socket-binding="http" redirect-socket="https-ext"/>
<https-listener name="default-ssl" security-realm="UndertowRealm" socket-binding="https"/>
<host name="default-host" alias="localhost">
<filter-ref name="central-basic-auth"/>
</host>
</server>
Teraz, jeśli mogę zdefiniować serwer dla każdej domeny, nie mogę odwołać samą HTTP/HTTPS wiążącą słuchacza, ponieważ porty są zablokowane.
Jedyne rozwiązanie, jakie znalazłem do tej pory, to posiadanie dwóch publicznych adresów IP i zdefiniowanie dwóch interfejsów oraz powiązanie gniazda http/https dla każdego interfejsu. Następnie jestem w stanie zdefiniować dwa serwery z innym aliasem i różnymi powiązaniami z gniazdami.
Od tej chwili WildFly niestety nie obsługuje SNI.
Czy istnieje inne możliwe rozwiązanie?
Nie jestem zaznajomiony z WildFly, jednak dopóki WildFly nie obsługuje [SNI] (https://en.wikipedia.org/wiki/Server_Name_Indication), potrzebujesz dwóch oddzielnych adresów IP, jakie już znalazłeś. SNI sprawia, że wiele witryn HTTPS działa na jednym adresie IP. Nie udało mi się znaleźć niczego stwierdzającego, że WildFly 10 wspiera SNI. Zacznę od sprawdzenia, czy WildFly obsługuje SNI, a następnie znalezienia odpowiedniej dokumentacji, jeśli tak się dzieje. – vcsjones
Dzięki za odpowiedź. WildFly 10 nie obsługuje SNI po wyjęciu z pudełka. Istnieje bilet Jira, który żąda tej funkcji: https://issues.jboss.org/browse/XNIO-227 – kevcodez
To odpowiednia odpowiedź. Bez SNI potrzebujesz wielu adresów IP. To ograniczenie TLS, a nie WildFly.Bez SNI, TLS nie może powiedzieć WildFly, "który" host jest rozwiązywany na ten adres IP. – vcsjones