... I don't know what happens, unless I have an environment that reproduces the issue.
Can you display, on the server side, all the parameters provided by the servlet? Then look if there is something that seems suspicious (http/https..)
Here is a piece of code to do so:
<xp:table>
<xp:tr>
<xp:td>JSF Path Info</xp:td>
<xp:td>
<xp:text escape="true" id="computedField1"
value="#{javascript:facesContext.getExternalContext().getRequestPathInfo()}"></xp:text>
</xp:td>
</xp:tr>
<xp:tr>
<xp:td>JSF Context Path</xp:td>
<xp:td>
<xp:text escape="true" id="computedField2"
value="#{javascript:facesContext.getExternalContext().getRequestContextPath()}"></xp:text>
</xp:td>
</xp:tr>
<xp:tr>
<xp:td>JSF Servlet Path</xp:td>
<xp:td>
<xp:text escape="true" id="computedField3"
value="#{javascript:facesContext.getExternalContext().getRequestServletPath()}"></xp:text>
</xp:td>
</xp:tr>
<xp:tr>
<xp:td>JSF User Principal</xp:td>
<xp:td><xp:text escape="true" id="computedField4" value="#{javascript:facesContext.getExternalContext().getUserPrincipal().toString()}"></xp:text></xp:td>
</xp:tr>
<xp:tr>
<xp:td></xp:td>
<xp:td></xp:td>
</xp:tr>
<xp:tr>
<xp:td>Servlet Path Info</xp:td>
<xp:td><xp:text escape="true" id="computedField5" value="#{javascript:facesContext.getExternalContext().getRequest().getPathInfo()}"></xp:text></xp:td>
</xp:tr>
<xp:tr>
<xp:td>Servlet Query String</xp:td>
<xp:td><xp:text escape="true" id="computedField6" value="#{javascript:facesContext.getExternalContext().getRequest().getQueryString()}"></xp:text></xp:td>
</xp:tr>
<xp:tr>
<xp:td>Servlet Request URI</xp:td>
<xp:td><xp:text escape="true" id="computedField7" value="#{javascript:facesContext.getExternalContext().getRequest().getRequestURI()}"></xp:text></xp:td>
</xp:tr>
<xp:tr>
<xp:td>Servlet Request URL</xp:td>
<xp:td><xp:text escape="true" id="computedField8" value="#{javascript:facesContext.getExternalContext().getRequest().getRequestURL()}"></xp:text></xp:td>
</xp:tr>
<xp:tr>
<xp:td>Servlet Path Translated</xp:td>
<xp:td><xp:text escape="true" id="computedField9" value="#{javascript:facesContext.getExternalContext().getRequest().getPathTranslated()}"></xp:text></xp:td>
</xp:tr>
</xp:table>