The decision to hard-code host:port into DCE appears to be causing problems where jboss sits behind a reverse-proxy (for example, behind Apache), or where jboss listens to both tcp/80 and tcp/443 and redirects all non-encrypted to encrypted traffic. The DCE picks up the incorrect protocol:host:port and results in attempts to connect to a non-existing jbos instance. This renders the client faulty. In our case, the cms can be accessed in the browser (where java applets have not yet been disabled) on ``` http://host:80 and https://host:443 whereby all traffic is redirected to the encrypted connection. However, once downloaded, DCE hard-codes https://host:80 into the server address which clearly fails.
This issue seems directly related to this one.
https://community.percussion.com/percussion/topics/desktop-content-explorer-doesnt-work-if-using-apa…
You should be able to work around the problem by modifying the jnlp template files on the Rhythmyx server according to the instructions in that post.
{server install dir}/AppServer/server/rx/deploy/rxapp.ear/rxapp.war/dce/dce.jnlp
{server install dir}/jetty/base/Rhythmyx/dce/dce.jnlp
-n
Manually setting the host for jnlp as mentioned above should resolve this. To note the code resolves the host name passed into it, and this can be different when behind an apache proxy as it sees the hostname the proxy is calling.
For 7.3.2 when using the jetty container this issue is resolved if configured correctly
https://help.percussion.com/rhythmyx/implementation/jetty/using-jetty-with-an-apache-proxy.html
When using jetty the ForwardedRequestCustomizer combined with X-Forwarded headers send from apache can make the server think it is getting a request directly from the client and therefore should not display these issues.
This does look like an issue with how the default port is being picked up for https. We will look into resolving this but should have a way to get you working now.
The jnlp file is dynamically created with server information of the url used to request it. If you check the downloaded jnlp you will see that there is a codebase url specified twice in the file. Could you confirm whether this url includes the :80 port or not so see whether the problem is with the server/proxy configuration or the client.
By forcing the port to :443 in the jnlp file it should resolve the issue for you. You can do this by modifying the jnlp file on the server for jetty and jboss. A change in the downloaded file may have no effect because the updated information is always retrieved from the server.
{server install dir}/AppServer/server/rx/deploy/rxapp.ear/rxapp.war/dce/dce.jnlp
{server install dir}/jetty/base/Rhythmyx/dce/dce.jnlp
In these files replace $$codebase which appears twice with you server url including the :443
By doing this whatever url the jnlp file is requested on it will try and connect using the specified details including the 443 port.