Usernames with special characters may be double encoded behind an Apache Proxy with a RewriteRule

Still need help?

The Atlassian Community is here for you.

Ask the community

Problem

When working with user names that contain special characters, (such as "@" and "#") you may receive the following message:

User <test%45test.com> does not exist

Cause

Crowd is behind a reverse proxy, and a RewriteRule exists to alter the URL (perhaps to go from http to https) in some form:

RewriteRule ^/?(.*) https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

The special characters are being encoded, and being double encoded again by the reverse proxy.

Resolution

Add the NoEncode to the RewriteRule, to ensure that the Rewrite is not being double encoded. The above rule would become:

RewriteRule ^/?(.*) https://%{SERVER_NAME}%{REQUEST_URI} [R,NE,L]

Last modified on May 19, 2016

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.