Welcome! Log In Create A New Profile

Advanced

Nginx authentication and dynamic proxy

Posted by tobia.grosselle 
Nginx authentication and dynamic proxy
April 02, 2013 05:42AM
Hi,

I have setup a nginx server (openresty). I need to have authentication based on post params (user, pass, code) and get the result from auth query to redirect on intranet server (proxy_pass http://$address:$port;).

My problem is:

- get variable from post data
- save session-like auth token (for launch only one time the auth query)

Proto configuration:

location / {
set $address '';
access_by_lua '
local mysql = require "resty.mysql"
local db, err = mysql:new()
local ok, err, errno, sqlstate = db:connect{
host = "127.0.0.1",
port = 3306,
database = "database",
user = "user",
password = "password",
}
res, err, errno, sqlstate = db:query("select * from services where username = " .. username .. " and password = " .. password .. " and code = " .. code) -- username, password and code is from POST DATA
ngx.var.address = res[1].hostname .. ":" .. res[1].port
';
proxy_pass http://$address;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

Many thanks for response.
Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 230
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready