使用nginx进行.htaccess身份验证

Max*_*ard 2 php apache .htaccess nginx

我的配置存在一些问题.我正在使用Nginx作为我的Apache服务器的反向代理.我的网站有.htaccess身份验证,但Nginx似乎不理解它,所以我收到404错误.

我在其他答案中看到了一些翻译,但它没有翻译这一部分.

AuthUserFile /var/www/mywebsite/private/.htpassword
AuthName "Acces Restreint" 
AuthType Basic
Require valid-user
Run Code Online (Sandbox Code Playgroud)

顺便问一下,你对如何翻译第二部分有什么想法吗?

php_value session.gc_maxlifetime 604800

SetEnv APPLICATION_ENV development
Run Code Online (Sandbox Code Playgroud)

谢谢大家的帮助!

小智 6

对于性能相关的问题,默认情况下nginx不会查找每个目录.htaccess文件,如果您的主机不允许您编辑webserver配置,这是一个问题.

如果您可以编辑webserver配置(或将新配置放入conf.d目录),只需添加这些行,相应地替换/ your/path

 location  /your/path  {
   auth_basic            "Acces Restreint";
   auth_basic_user_file  /var/www/mywebsite/private/.htpassword;
 }
Run Code Online (Sandbox Code Playgroud)

回答你问题的第二部分需要更多关于如何在nginx中使用PHP的信息.如果你绑定到FastCGI(例如php-fpm),那么你可以使用这个方法设置PHP'变量:

 fastcgi_param  PHP_VALUE  "session.gc_maxlifetime=604800";


 env APPLICATION_ENV development;
Run Code Online (Sandbox Code Playgroud)