求助使用access_by_lua_file 返回404、加proxy_pass返回502问题

952 views
Skip to first unread message

avy...@gmail.com

unread,
Sep 26, 2015, 2:16:01 AM9/26/15
to openresty
我的网站使用是 haproxy(前端) ==> nginx(web) 架构, web 程序是 PHP CI 3.0框架,

所以请求 http://www.test.com/admin/mytest 中的 /admin/mytest  实际是不存在的文件,只是CI 的路由。

然后我在 nginx 用lua对 location /admin/mytest  实现HTTP AUTH认证:

配置如下:
    server {
       listen 80;
       server_name www.test.com;
       index  index.php index.htm ;
       root  /var/www/html;

        location / {
           if (!-f $request_filename) {
               rewrite ^(.*)$ /index.php last;
           }
       }
       location /admin/mytest {
           default_type "text/html";
           access_by_lua_file  conf/access_auth.lua;
           proxy_pass http://www.test.com;
       }

        include conf/php.conf;

access_auth.lua 基础脚本如下:

function auth()
    local red = redis_connect()
    if not red then
        return false
    end
    tkey = red:get(ngx.var.cookie_tkey) or nil
    if ngx.var.cookie_tkey ~= nil and ngx.var.cookie_tkey == tkey then
       return true
    else
        local username = ngx.var.remote_user
        local password = ngx.var.remote_passwd
        if auth_user(username, password) then
            local tkey = ngx.md5(math.random(1000000000,10000000000))
            local expires = cookie_expire  
            ngx.header["Set-Cookie"] = "tkey="..tkey..";Domain=.test.com; Path=/; Expires=" .. ngx.cookie_time(ngx.time() + expires)
            red:set(tkey,tkey)
            red:expire(tkey,tkey,cookie_expire)
            redis_close(red)
            return true
        end
        access_deny(red)
        ngx.header.www_authenticate = [[Basic realm="access auth"]]
        ngx.exit(401)
    end
end

function auth_user() 
 ...
end

function reids_connect()
...
end

if ngx.var.remote_addr ~= '192.168.0.11' then
    auth()
end


这样配置后,如果在测试服上测试,前端没有HAproxy ,没加 proxy_pass 之前,返回404,加上 proxy_pass 后,那么访问流程很正常(显示认证对话框,正确后进入页面)。

但把配置放到生产服务器,如果前端有HAproxy 做负载均衡的话,

始终返回502,不知何解? 搞了好久,也查了好多资料,麻烦帮下我,谢谢!


avy...@gmail.com

unread,
Sep 26, 2015, 2:50:16 AM9/26/15
to openresty
对了前端使用HAproxy,第一次返回502,第二刷新是返回400.

在 2015年9月26日星期六 UTC+8下午2:16:01,avy...@gmail.com写道:

DeJiang Zhu

unread,
Sep 26, 2015, 4:07:20 AM9/26/15
to open...@googlegroups.com
Hello,

应该是你生产环境的问题

建议你在生产环境直接请求 nginx,确认是否正常
同时 nginx 的 error log 也是值得关注的地方,最好开启 debug(编译时 --with-debug,且 error_log /path/to/error.log debug )

--
--
邮件来自列表“openresty”,专用于技术讨论!
订阅: 请发空白邮件到 openresty...@googlegroups.com
发言: 请发邮件到 open...@googlegroups.com
退订: 请发邮件至 openresty+...@googlegroups.com
归档: http://groups.google.com/group/openresty
官网: http://openresty.org/
仓库: https://github.com/agentzh/ngx_openresty
教程: http://openresty.org/download/agentzh-nginx-tutorials-zhcn.html

avy...@gmail.com

unread,
Sep 26, 2015, 6:23:49 AM9/26/15
to openresty
感谢你的回复,

我尝试修改 access_auth.lua 内容为:
return

然后在修改/etc/hosts:
192.168.0.100  www.test.com

日志修改为:error_log logs/nginx_error.log debug;

然后从 nginx 上curl:
<html><body><h1>400 Bad request</h1>
Your browser sent an invalid request.
</body></html>

日志中是不断重复的502和400,看来真的我的环境问题,我用的是tengine+lua模块,配置:
--user=www --group=www --prefix=/usr/local/tengine --add-module=../nginx_mod_h264_streaming-2.2.7 --with-pcre=../pcre-8.35 --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_flv_module --with-http_realip_module --with-openssl-opt=enable --with-cc-opt=-O3 --with-google_perftools_module --with-http_sysguard_module --with-http_concat_module --add-module=../ngx_cache_purge-2.1 --with-ld-opt=-Wl,-rpath,/usr/local/luajit/lib --add-module=../ngx_devel_kit-0.2.19 --add-module=../lua-nginx-module-0.9.16 --add-module=../ngx_coolkit





我再查一查。 多谢了!
 

在 2015年9月26日星期六 UTC+8下午4:07:20,doujiang写道:

avy...@gmail.com

unread,
Sep 26, 2015, 8:59:32 AM9/26/15
to openresty
   我测试环境和生产环境的版本与配置都是一样的,除了fastcgi_pass 这项。
 
现在我把测试服 ngnix php的配置项由fastcgi_pass 127.0.0.1:9000 改为  fastcgi_pass unix:/dev/shm/php-cgi.sock;  也同样出现错误502,400错误了,(生产环境暂时不敢动)
 
估计是这个原因引起的,使用socket 方式无法 proxy_pass ,但这是什么原因呢?

Yichun Zhang (agentzh)

unread,
Sep 26, 2015, 9:15:55 AM9/26/15
to openresty
Hello!

2015-09-26 14:16 GMT+08:00 <avy...@gmail.com>:
> 这样配置后,如果在测试服上测试,前端没有HAproxy ,没加 proxy_pass 之前,返回404,

你没加 proxy_pass,就没有东西负责生成响应,所以自然生成 404(显然你在 access_by_lua 里面也没有生成响应)。

> 加上 proxy_pass
> 后,那么访问流程很正常(显示认证对话框,正确后进入页面)。
> 但把配置放到生产服务器,如果前端有HAproxy 做负载均衡的话,
> 始终返回502,不知何解? 搞了好久,也查了好多资料,麻烦帮下我,谢谢!
>

你首先确定 502 究竟是谁生成的,是 HAProxy 呢,还是 NGINX 呢,还是你的后端服务器。一般检查各环节的日志可以帮助确认问题,特别是错误日志。

Regards,
-agentzh

avy...@gmail.com

unread,
Sep 26, 2015, 10:44:44 AM9/26/15
to openresty
谢谢春哥的解答,  是NGINX的问题,可开了debug 或  info 日志 ,都没有相关的信息,只用开开始502,刷新400, 刚才在测试服nginx 上又试了下,似乎也不是  fastcgi_pass unix:/dev/shm/php-cgi.sock;  问题。

58.249.26.226 - admin [26/Sep/2015:22:37:26 +0800] "GET /admin/login HTTP/1.1" 502 627 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0" 58.249.26.226
58.249.26.226 - admin [26/Sep/2015:22:37:26 +0800] "GET /admin/login HTTP/1.1" 502 627 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0" 58.249.26.226
58.249.26.226 - admin [26/Sep/2015:22:37:26 +0800] "GET /admin/login HTTP/1.1" 502 627 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0" 58.249.26.226
58.249.26.226 - admin [26/Sep/2015:22:37:26 +0800] "GET /admin/login HTTP/1.1" 502 627 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0" 58.249.26.226
58.249.26.226 - admin [26/Sep/2015:22:37:26 +0800] "GET /admin/login HTTP/1.1" 502 627 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0" 58.249.26.226
58.249.26.226 - admin [26/Sep/2015:22:37:26 +0800] "GET /admin/login HTTP/1.1" 502 627 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0" 58.249.26.226
58.249.26.226 - admin [26/Sep/2015:22:37:26 +0800] "GET /admin/login HTTP/1.1" 502 627 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0" 58.249.26.226
58.249.26.226 - admin [26/Sep/2015:22:37:26 +0800] "GET /admin/login HTTP/1.1" 502 627 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0" 58.249.26.226
58.249.26.226 - admin [26/Sep/2015:22:37:26 +0800] "GET /admin/login HTTP/1.1" 502 627 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0" 58.249.26.226
58.249.26.226 - admin [26/Sep/2015:22:37:26 +0800] "GET /admin/login HTTP/1.1" 502 627 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0" 58.249.26.226
58.249.26.226 - admin [26/Sep/2015:22:39:09 +0800] "GET /admin/login HTTP/1.1" 400 101 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0" 58.249.26.226
58.249.26.226 - admin [26/Sep/2015:22:39:09 +0800] "GET /admin/login HTTP/1.1" 400 101 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0" 58.249.26.226
.....



在 2015年9月26日星期六 UTC+8下午9:15:55,agentzh写道:

avy...@gmail.com

unread,
Sep 26, 2015, 1:39:11 PM9/26/15
to openresty
还是没有解决,
 
我在生产环境安装了 openresty , 把原来的配置放了过去,还是同样有问题,日志也没显示什么来,
        location /admin/mytest{
                default_type "text/html";
                access_by_lua_file /usr/local/openresty/nginx/conf/access_auth.lua;
                proxy_pass http://www.test.com;


不用 access_by_file ,proxy_pass 一切访问都正常,添加 access_by_file 就返回404, 加入content handle   proxy_pass  返回 502和400.

日志如下:
XXX.XXX.142.203 - admin [27/Sep/2015:01:26:11 +0800] "GET /admin/login HTTP/1.0" 400 90 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36" "XXX.XX.188.41, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203"
XXX.XXX.142.203 - admin [27/Sep/2015:01:26:11 +0800] "GET /admin/login HTTP/1.0" 400 90 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36" "XXX.XX.188.41, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203"
XXX.XXX.142.203 - admin [27/Sep/2015:01:26:11 +0800] "GET /admin/login HTTP/1.0" 400 90 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36" "XXX.XX.188.41, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203"
XXX.XXX.142.203 - admin [27/Sep/2015:01:26:11 +0800] "GET /admin/login HTTP/1.0" 400 90 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36" "XXX.XX.188.41, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203"
XXX.XXX.142.203 - admin [27/Sep/2015:01:26:11 +0800] "GET /admin/login HTTP/1.0" 400 90 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36" "XXX.XX.188.41, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203"
XXX.XXX.142.203 - admin [27/Sep/2015:01:26:11 +0800] "GET /admin/login HTTP/1.0" 400 90 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36" "XXX.XX.188.41, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203"
XXX.XXX.142.203 - admin [27/Sep/2015:01:26:11 +0800] "GET /admin/login HTTP/1.0" 400 90 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36" "XXX.XX.188.41, XXX.XXX.142.203, XXX.XXX.142.203, XXX.XXX.142.203"
XXX.XXX.142.203 - admin [27/Sep/2015:01:26:11 +0800] "GET /admin/login HTTP/1.0" 400 90 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36" "XXX.XX.188.41, XXX.XXX.142.203, XXX.XXX.142.203"
XXX.XXX.142.203 - admin [27/Sep/2015:01:26:11 +0800] "GET /admin/login HTTP/1.0" 400 90 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36" "XXX.XX.188.41, XXX.XXX.142.203"
XXX.XX.188.41 - admin [27/Sep/2015:01:26:11 +0800] "GET /admin/login HTTP/1.1" 400 101 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36" "XXX.XX.188.41"
XXX.XX.188.41 - admin [27/Sep/2015:01:26:29 +0800] "GET /admin/login HTTP/1.1" 404 564 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36" "XXX.XX.188.41"
XXX.XX.188.41 - admin [27/Sep/2015:01:26:31 +0800] "GET /admin/login HTTP/1.1" 404 564 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36" "XXX.XX.188.41"
XXX.XX.188.41 - admin [27/Sep/2015:01:26:31 +0800] "GET /admin/login HTTP/1.1" 404 564 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36" "XXX.XX.188.41"


DeJiang Zhu

unread,
Sep 26, 2015, 10:06:48 PM9/26/15
to open...@googlegroups.com
Hello,

2015-09-27 1:39 GMT+08:00 <avy...@gmail.com>:
 
不用 access_by_file ,proxy_pass 一切访问都正常,添加 access_by_file 就返回404, 加入content handle   proxy_pass  返回 502和400.

我觉得你这个好奇怪,应该是配置都让你搞混乱了
建议你弄一个干净的环境,逐步排除,先保证 proxy_pass 正常,再加入 access_by_lua_file,再用 HAProxy 做代理


日志如下:

你这个日志是 access_log,有用的信息都在 error_log 里呢
 

avy...@gmail.com

unread,
Sep 27, 2015, 2:31:54 AM9/27/15
to openresty
不好意思,是我做晕头了,日志搞错了。 现在我重新弄了一个干净的环境,内容如下:

#cat /etc/hosts
192.168.0.100  www.test.com


# cat /usr/local/nginx/conf/vhosts/www.test.com.conf


    server {
        listen 80;
        server_name www.test.com;
        index index.html index.php index.htm ;
        root /data/www/mytest;

        location / {
                try_files $uri $uri/ /index.php;
        }

        location /admin/mytest {
                #default_type "text/html";
                #access_by_lua_file /usr/local/nginx/conf/auth.lua;
                proxy_pass http://www.test.com;   ##测试代理 www.163.com 没问题

        }

        include  /usr/local/nginx/conf/php.conf;


    }


# cat /usr/local/nginx/conf/auth.lua
return   --为排错,只加这一行



# curl http://www.test.com/admin/mytest

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head><title>500 Internal Server Error</title></head>
<body bgcolor="white">
...
<hr/>nginx</body>
</html>



# tail -f ../logs/nginx_error.log 

2015/09/27 14:20:22 [alert] 28863#0: *4989 socket() failed (24: Too many open files) while connecting to upstream, client: 192.168.0.100, server: www.test.com, request: "GET /admin/mytest HTTP/1.0", upstream: "http://192.168.0.100:80/admin/mytest", host: "www.test.com"
2015/09/27 14:20:23 [info] 28863#0: *1 client 192.168.0.100 closed keepalive connection
2015/09/27 14:29:35 [alert] 28863#0: *9978 socket() failed (24: Too many open files) while connecting to upstream, client: 192.168.0.100, server: www.test.com, request: "GET /admin/mytest HTTP/1.0", upstream: "http://192.168.0.100:80/admin/mytest", host: "www.test.com"


看来是proxy_pass 指向自己死循环了,其实我的目的只是想 访问 /admin/mytest ,然后 access_by_lua 进行认证,通过认证后后回到原来的http://www.test.com/admin/mytest 内容,但是http://www.test.com/admin/mytest 下 的/admin/mytest并不是真实存在的路径,而是PHP ci 框架的控制器路由,像thinkphp一样,或者说是path_info 。如果是真实存在的路径,不用加proxy_pass就可以正常访问了,如果是path_info路径那么返回404, 所以才使用proxy_pass.

请问大家有什么办法吗?



在 2015年9月27日星期日 UTC+8上午10:06:48,doujiang写道:

avy...@gmail.com

unread,
Sep 27, 2015, 2:44:13 AM9/27/15
to openresty
看过春哥的https://openresty.org/download/agentzh-nginx-tutorials-zhcn.html 文档,我的情况这个很类似,查还是不明白该怎么做?
 
春哥的部分教程部分内容这样写道:

获取当前“文档根目录”的路径有一个非常简便的方法,那就是请求一个肯定不存在的文件所对应的资源名,例如:

   $ curl 'http://localhost:8080/blah-blah.txt'
   
<html>
   
<head><title>404 Not Found</title></head>
   
<body bgcolor="white">
   
<center><h1>404 Not Found</h1></center>
   
<hr><center>nginx</center>
    </
body>
   
</html>

我们会很自然地得到 404 错误页。此时再看 Nginx 错误日志文件,应该会看到类似下面这一行错误消息:

   [error] 9364#0: *1 open() "/home/agentzh/test/html/blah-blah.txt" failed (2: No such file or directory)

这条错误消息是 ngx_static 模块打印出来的,因为它并不能在文件系统的对应路径上找到名为 blah-blah.txt 的文件。因为这条错误信息中包含有 ngx_static 试图打开的文件的绝对路径,所以从这个路径不难看出,当前的“文档根目录”是 /home/agentzh/test/html/.

很多初学者会想当然地把 404 错误理解为某个 location 不存在,其实上面这个例子表明,即使 location 存在并成功匹配,也是可能返回 404 错误页的。因为决定着 404 错误页的是抽象的“资源”是否存在,而非某个具体的 location 是否存在。

初学者常犯的一个错误是忘记配置 content 阶段的模块指令,而他们自己其实并不期望使用 content 阶段缺省运行的静态资源服务,例如:

   location /auth {
        access_by_lua '
            -- a lot of Lua code omitted here...
        ';
    }

显然,这个 /auth 接口只定义了 access 阶段的配置指令,即 access_by_lua,并未定义任何 content 阶段的配置指令。于是当我们请求 /auth 接口时,在 access 阶段的 Lua 代码会如期执行,然后content 阶段的那些静态文件服务会紧接着自动发生作用,直至 ngx_static 模块去文件系统上找名为 auth 的文件。而经常地,404 错误页会抛出,除非运气太好,在对应路径上确实存在一个叫做 auth的文件。所以,一条经验是,当遇到意外的 404 错误并且又不涉及静态文件服务时,应当首先检查是否在对应的 location 配置块中恰当地配置了 content 阶段的模块指令,例如 content_by_luaecho 以及 proxy_pass 之类。当然,Nginx 的 error.log 文件一般总是会提供各种意外问题的答案,例如对于上面这个例子,我的 error.log 中有下面这条错误信息:

   [error] 9364#0: *1 open() "/home/agentzh/test/html/auth" failed (2: No such file or directory)

 

DeJiang Zhu

unread,
Sep 27, 2015, 3:34:21 AM9/27/15
to open...@googlegroups.com
Hello,

在 2015年9月27日 下午2:31, <avy...@gmail.com>写道:
不好意思,是我做晕头了,日志搞错了。

patpat,沉下心来,多想想,仔细看看教程,强过无谓的试错

出了问题,冷静很重要,从正常情况出发,一步步验证,好过在一团乱中找错
如我上一篇回复里说的,先建立正常的访问流程,再加 access_by_lua_file,再加 HAProxy

看来是proxy_pass 指向自己死循环了

你的 proxy_pass 不是应该指向 php 服务么?
 
其实我的目的只是想 访问 /admin/mytest ,然后 access_by_lua 进行认证,通过认证后后回到原来的http://www.test.com/admin/mytest 内容

access_by_lua 只是请求的一个执行时序,并不存在请求跳转
 
,但是http://www.test.com/admin/mytest 下 的/admin/mytest并不是真实存在的路径,而是PHP ci 框架的控制器路由,像thinkphp一样,或者说是path_info 。如果是真实存在的路径,不用加proxy_pass就可以正常访问了,如果是path_info路径那么返回404, 所以才使用proxy_pass.


同上,我没发现你的 php 服务在哪里

avy...@gmail.com

unread,
Sep 27, 2015, 3:37:40 AM9/27/15
to openresty
问题似乎解决了,仔细又看了下春哥的文档,有提到这句:"应当首先检查是否在对应的 location 配置块中恰当地配置了 content 阶段的模块指令"

于是,我在location /admin/mytest {} 中添加了
content_by_lua '
       --ngx.say("test")
        return
 ';
重启后可以反回200,但发现页面空白,所以前面又添加了这句:

try_files $uri $uri/ /index.php;       验证后终于出来页面了。

server 整个配置如下:

    server {
        listen 80;
        server_name www.test.com;
        index index.html index.php index.htm ;
        root /data/www/mytest;

        location / {
                try_files $uri $uri/ /index.php;
        }

        location /admin/mytest {
                default_type "text/html";
                try_files $uri $uri/ /index.php;
                content_by_lua '
                    --ngx.say("test")
                    return
                ';
                access_by_lua_file /usr/local/nginx/conf/access_auth.lua;
        }

        include  /usr/local/nginx/conf/php.conf;

    }

非常感谢 doujiang 、春哥的帮助!祝大家中秋快乐!







在 2015年9月27日星期日 UTC+8下午2:44:13,avy...@gmail.com写道:

avy...@gmail.com

unread,
Sep 27, 2015, 3:50:07 AM9/27/15
to openresty
非常感谢你的帮助,你提到 “access_by_lua 只是请求的一个执行时序,并不存在请求跳转”, 我又把 content_by_lua 这段指令去掉了,照样可以正常访问,

搞了这么久,看来我只是少了:
try_files $uri $uri/ /index.php;

这句入口指令,后面要加深理解文档教程的。

在 2015年9月27日星期日 UTC+8下午3:34:21,doujiang写道:
Reply all
Reply to author
Forward
0 new messages