Usernames with special characters may be double encoded behind an Apache Proxy with a RewriteRule
プラットフォームについて: Data Center のみ。 - This article only applies to Atlassian apps on the Data Center プラットフォーム。
この KB は Data Center バージョンの製品用に作成されています。Data Center 固有ではない機能の Data Center KB は、製品のサーバー バージョンでも動作する可能性はありますが、テストは行われていません。 Server* 製品のサポートは 2024 年 2 月 15 日に終了しました。Server 製品を実行している場合は、 アトラシアン Server サポート終了 のお知らせにアクセスして、移行オプションを確認してください。
*Fisheye および Crucible は除く
問題
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
原因
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.
ソリューション
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]この内容はお役に立ちましたか?