【问题标题】:Nginx + fastcgi: how to send basic authNginx + fastcgi:如何发送基本身份验证
【发布时间】:2011-10-26 23:02:50
【问题描述】:

我正在使用 Nginx 和 FastCGI 作为 API 接受基于 C 的 CGI 程序的 POST。它工作正常,所以现在我想让客户端使用一个密钥来标识自己,比如 key:pass@api.sample.com。

当我在 nginx 配置文件中打开 auth_basic 并指定一个 auth_basic_user_file 时,它​​要求用户在文件中。这对我不起作用 - 我不想为我创建的每个密钥维护一个 htpasswd 文件。我真的很想将 key:pass 传递给我的 cgi 程序来处理它。 Rails(乘客)以某种方式做到这一点,所以我知道这是可能的。

是否有某种重写,或者我可以做些什么来至少将密钥(用户名或 $remote_user)部分传递给我的 cgi 程序?

谢谢!

【问题讨论】:

    标签: http nginx cgi fastcgi


    【解决方案1】:

    据我所知,基本身份验证无法以这种方式自定义,因此您需要使用外部的东西。 Here你可以找到一些有用的东西。

    【讨论】:

    • 当然可以。你只需要使用fastcgi_pass_header Authorization 将Authorization 标头传递给你的CGI 程序,然后在那里处理它。查找有关如何在 C、Perl 或 Bash CGI 脚本中处理基本身份验证的任何旧示例。
    猜你喜欢
    • 2014-01-30
    • 2017-10-19
    • 2015-05-13
    • 1970-01-01
    • 2018-01-11
    • 2016-01-11
    • 2017-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多