Nginx“auth_basic”字符串编码

Nginx“auth_basic”字符串编码

nginx 配置文件中的正确编码/字符集是什么,以显示 HTTP 身份验证消息中的重音字符?

例如这个配置文件:

server {
...
    location / {
        auth_basic           "Zone sécurisée";
        auth_basic_user_file .htpasswd;
    }
}

在 Firefox 的提示窗口中显示:

“安全区”

在网上找不到真正的解决方案或解释。我尝试é在 conf 文件中用é、by &、by &#233、by替换或在字符串开头=C3=A9添加charset utf-8指令或,但没有任何效果!=?UTF-8?

官方 nginxdoc,谈论“字符串”,而没有关于重音字符编码的更多解释。

.htaccess注意:我对 Apache 的类似文件没有问题

答案1

RFC 7617第 3 部分

'领域'参数携带的数据可以视为文本;但是,[RFC7235] 没有定义可靠传输非 US-ASCII 字符的方法。这是一个已知问题,需要在该规范的修订版中解决。

realm参数是您在指令中输入的字符串auth_basic。因此,无法提出任何建议,但请坚持使用 ASCII。

相关内容