PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : nginx - Authentifizierungsbackend mit MySQL oder Postgres



blubbersuelze
27.09.16, 22:21
Hallo zusammen,

System: Debian Jessie mit "nginx-full"

ich nutze Nginx und habe Basic Auth als Authentifizierung, welches über eine Datei erledigt wird (htpasswd), das funktioniert auch sehr gut.
Dies möchte ich nun umstellen das die Authentifizierungsdaten nicht mehr in einer Datei sondern in einer Datenbank liegen.

Ich habe es mit MySQL probiert:

location /test/ {
...
Auth_MySQL_Username mysqluser
Auth_MySQL_Password mysqlpass
Auth_MySQL_DB database
Auth_MySQL_Password_Table users
Auth_MySQL_Username_Field username
Auth_MySQL_Password_Field passwd
Auth_MySQL_Encrypted_Passwords Off
Auth_MySQL_Non_Persistent On
Auth_MYSQL On
Auth_MySQL_Empty_Passwords Off
...
}

Leider bekomme ich folgende Fehlermeldung im Logfile zurück: "unknown directive "Auth_MySQL_Username" "
Scheinbar ist das MySQL Auth Modul nicht vorhanden oder so, ich komme aber nicht weiter und weiß auch nicht was ich
noch machen/installieren muss das das Modul nicht mehr unbekannt ist.
Was ich dem Modul übergeben muss ist mir bekannt, aber dazu muss Nginx das Modul selbst erst mal erkennen :(

wäre super wenn mir jemand helfen könnte
Es muss nicht unbedingt MySQL sein, Postgres als Auth Backend ist auch ok :-)

mfg.
blubbersuelze :p

marce
28.09.16, 07:55
was sagt denn ein
nginx -V?

Ansonsten: http://code.svn.wordpress.org/nginx_auth_mysql/README

blubbersuelze
28.09.16, 11:29
[11:23h][root@dbtest:~]$ nginx -V
nginx version: nginx/1.6.2
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2' --with-ld-opt=-Wl,-z,relro --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_spdy_module --with-http_sub_module --with-http_xslt_module --with-mail --with-mail_ssl_module --add-module=/build/nginx-ryOGNl/nginx-1.6.2/debian/modules/nginx-auth-pam --add-module=/build/nginx-ryOGNl/nginx-1.6.2/debian/modules/nginx-dav-ext-module --add-module=/build/nginx-ryOGNl/nginx-1.6.2/debian/modules/nginx-echo --add-module=/build/nginx-ryOGNl/nginx-1.6.2/debian/modules/nginx-upstream-fair --add-module=/build/nginx-ryOGNl/nginx-1.6.2/debian/modules/ngx_http_substitutions_filter_module


sehe ich das richtig das ich Nginx neu bauen muss?

TheDarkRose
28.09.16, 20:48
jap, nginx hat kein Modulsystem wie Apache, die man separat installieren kann. Das macht u.a. seinen Speed aus.

Selbst kompilierter nginx ist sozusagen recht usus