apachehttp服务器中的外部Cookie验证

apachehttp服务器中的外部Cookie验证,apache,validation,cookies,proxy,Apache,Validation,Cookies,Proxy,我想使用后端http服务验证Cookie的真实性,该服务隐藏在Apache http服务器后面,设置为反向代理。我还希望避免编写脚本(CGI、Perl、Ruby等),只使用Apache配置 这应该能够使cookies的验证逻辑与反向代理本身分离 以下是我想要实现的流程中的参与者: 后端主服务[主] 后端Cookie验证服务[CookieValidation] 后端反向代理[RevProxy] 前端web浏览器[前端] 以下是我想要实现的流程: [Frontend]从[Main]请求资源 [Rev

我想使用后端http服务验证Cookie的真实性,该服务隐藏在Apache http服务器后面,设置为反向代理。我还希望避免编写脚本(CGI、Perl、Ruby等),只使用Apache配置

这应该能够使cookies的验证逻辑与反向代理本身分离

以下是我想要实现的流程中的参与者:

  • 后端主服务[主]
  • 后端Cookie验证服务[CookieValidation]
  • 后端反向代理[RevProxy]
  • 前端web浏览器[前端]
  • 以下是我想要实现的流程:

  • [Frontend]从[Main]请求资源
  • [RevProxy]拦截请求

    ***** Pseudo code *****
    
    response = send cookie to [CookieValidation] for validation 
    // e.g. *http://CookiValidation.server.com/validate?cookie={...}*
    
    if (response.status == STATUS_OK) {
        Proxy original request to [Main]
    } else {
        return response
    }
    

  • 这可能吗?

    您不能仅使用Apache“配置”来实现这一点


    如果您不想编写自己的Apache模块,您至少需要编写一个小脚本,并将其作为
    RewriteMap prg:
    脚本。它将联系cookie验证服务器,您将使用其输出作为
    RewriteCond
    中的测试,以确定是否代理/在何处代理(您期望的操作不太清楚)

    感谢您的响应。-我所说的配置是指Apache HTTP服务器模块功能的使用,同时尽可能避免编写脚本。我希望避免编写脚本,因为我希望尽可能少地避免维护负担。-整个想法背后的动机是能够将令牌验证与反向代理本身分离,同时仍然使用反向代理控制流量。-据我所知,如果不使用某种代理(通过代码或脚本),这是不可能的。这是一个古老的问题,但是。。。如何将cookie传递给外部程序?检查文档中的rewritemap prg,“对于每个映射函数查找,它需要一个通过STDIN的参数,并且应该在STDOUT上返回一个新的以行结尾的响应字符串。如果没有相应的查找值,则映射程序应该返回四个字符的字符串“NULL”来表示这一点。”我看到的两种方法是发送整个cookie内容,让程序重新构建并测试它,或者存储它并传递cookie位置(这似乎很慢)