Parts of the control panel seemingly ignore web.server.protocol

David North, modified 5 Years ago. New Member Posts: 5 Join Date: 4/8/20 Recent Posts
I have Liferay CE running from one of the Liferay Docker images, specifically:
liferay/portal:7.3.0-ga1-202003272258
I have set web.server.protocol=https in my portal-ext.properties, as I have Apache applying SSL in front of the Docker container.
Most of Liferay works fine; however the control panel for integration with the marketplace (Control Panel -> Apps -> Purchased) is broken. Looking at developer tools shows a couple of these:
Blocked loading mixed active content "http://portal.example.com/group/control_panel/manage?p_p_id=com_l…tplacePurchasedPortlet_javax.portlet.action=getInstalledApps"manage:1:773
The URLs generated for these requests should have "https" on the front - I thought that was the point of web.server.protocol. Is there another setting I have failed to spot?
(I've checked from within the control panel, and web.server.protocol shows as set correctly to https when I visit configuration > server administration > portal properties)
thumbnail
Christoph Rabel, modified 5 Years ago. Liferay Legend Posts: 1555 Join Date: 9/24/09 Recent Posts
Should work, looks like a bug to me.
But I usually do this by either using ajp (the default tomcat ajp connector runs on port 8009) or by adding a dedicated Connector for https. Never had problems with that (did not try it in 7.3 though, could still be the same problem). The advantage of that approach is that both http and https work at the same time (can be useful for testing).
While I prefer ajp, it is also simple to configure a connector. You just need to add scheme and secure flags to the connector (in tomcat/conf/server.xml).
<Connector ... scheme="https" secure="true" SSLEnabled="false">
This doesn't create a https connector, it creates a http connector, that "believes" internally it is https.