在反向代理NGINX服务器上更改用户名/密码

时间:2019-05-15 16:56:40

标签: nginx lua

我正在尝试实现一个NGINX反向代理服务器,该服务器从客户端应用程序接受HTTPS命令,并将其中继到下游服务器,再次使用HTTPS。客户端应用使用的用户/密码必须与下游服务器接受的用户/密码不同。

客户端应用程序“用户”在标头{'x-client-id':'bozo'}中传递到反向代理服务器。 FWIW,下游服务器不需要标头。

用于与反向代理服务器和下游服务器进行通信的用户ID相同,并且用于与下游服务器进行通信的密码存储在反向代理服务器上的MySQL数据库中,并可以通过LUA脚本进行访问。

我正在努力与下游服务器通信时如何替换用户名/密码。

关于NGINX的服务器定义,我已经走了这么远:

'''
   server {
       listen       8445 ssl;
       server_name  api.somemagicland.com;
       ssl_certificate      /home/proxyadmin/api.somemagicland.com.bundle.crt;
       ssl_certificate_key  /home/proxyadmin/api.somemagicland.com.key;
       #charset koi8-r;
       #access_log  logs/host.access.log  main;
       proxy_set_header Authorization "";
       location /shim_upstream {
           rewrite /shim_upstream/(.*) /$1  break;

        #######################################
        # this has to be updated with the IP Address of the Backend Server
        # set this if you want to strip original request headers and add your custom Headers
        proxy_pass_request_headers   off;
        proxy_pass         https://myportal.somewhere.com:8445;
        proxy_redirect     off;
        # proxy_set_header   Host $host;
    }

作为可接受但不太理想的替代方案,可以使用静态定义的用户/密码与下游服务器进行通信。

对此表示衷心的感谢!

0 个答案:

没有答案