How to set a reverse proxy with Undertow

23 Views Asked by At

Im trying to do access the web console page of wildfly by the internet and for it, i need to set a reverse proxy. With NGINX is easy. But i need and i want to do it with Undertow, a integrated web server which comes with Wildfly. I have a public IP adresss, a domain name server and a free vm on aws. As i said, with NGINX i had no problems. The issue im facing is with Undertow web server and its absolute lack of content for non developers and a very smal community for support. Wildfly and Undertow do have documentation, but its for a public with high level of knowledge. I expect that my persistence to do such a pointless thing with a so many obvious and easy alternatives worths for knowledge. I expect because im sure of it. Thank you all. Bellow, the configuration file.

       <subsystem xmlns="urn:jboss:domain:undertow:14.0" default-virtual-host="default-host" default-servlet-container="default" default-server="default-server" statistics-enabled="${wildfly.undertow.statistics-enabled:${wildfly.statistics-enabled:false}}" default-security-domain="other">
            <byte-buffer-pool name="default" />
            <buffer-cache name="default" />
            <server name="default-server">
                <http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true" />
                <https-listener name="https" socket-binding="https" ssl-context="applicationSSC" enable-http2="true" />
                <host name="default-host" alias="localhost">
                    <location name="/" handler="welcome-content" />
                    <filter-ref name="server-header" />
                    <filter-ref name="x-powered-by-header" />
                    <filter-ref name="rewrite" />
                    <http-invoker http-authentication-factory="application-http-authentication" />
                </host>
                <host name="15.229.35.89" alias="ubium.cloud">
                    <location name="/" handler="my-handler" />
                </host>
            </server>
            <servlet-container name="default">
                <jsp-config />
                <websockets />
            </servlet-container>
            <handlers>
                <file name="welcome-content" path="${jboss.home.dir}/welcome-content" />
                <reverse-proxy name="my-handler" connections-per-thread="50">
                    <host name="ubium.cloud" path="/" outbound-socket-binding="outbound-socket-5" />
                </reverse-proxy>
            </handlers>
            <application-security-domains>
                <application-security-domain name="other" security-domain="ApplicationDomain" />
            </application-security-domains>
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:webservices:2.0" statistics-enabled="${wildfly.webservices.statistics-enabled:${wildfly.statistics-enabled:false}}">
            <wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
            <endpoint-config name="Standard-Endpoint-Config" />
            <endpoint-config name="Recording-Endpoint-Config">
                <pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
                    <handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler" />
                </pre-handler-chain>
            </endpoint-config>
            <client-config name="Standard-Client-Config" />
        </subsystem>
        <subsystem xmlns="urn:jboss:domain:weld:5.0" />
    </profile>
    <interfaces>
        <interface name="management">
            <inet-address value="${jboss.bind.address.management:127.0.0.1}" />
        </interface>
        <interface name="public">
            <inet-address value="${jboss.bind.address:127.0.0.1}" />
        </interface>
    </interfaces>
    <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
        <socket-binding name="ajp" port="${jboss.ajp.port:8009}" />
        <socket-binding name="http" port="${jboss.http.port:8080}" />
        <socket-binding name="https" port="${jboss.https.port:8443}" />
        <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:9993}" />
        <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="${jboss.mail.server.host:localhost}" port="${jboss.mail.server.port:25}" />
        </outbound-socket-binding>
        <outbound-socket-binding name="outbound-socket-5">
            <remote-destination host="127.0.0.1" port="${jboss.management.http.port:9990}" />
        </outbound-socket-binding>
    </socket-binding-group>
</server>
0

There are 0 best solutions below