openresty的location配置问题rewrite_by_lua引起的一个问题

发布于 2022-09-07 15:38:15 字数 837 浏览 26 评论 0

nginx.conf里面的有一个配置是这样的

    location / {
        default_type 'application/json;charset=utf-8';
        # here must be use rewrite_by_lua instead of content_by_lua
        rewrite_by_lua '
            #  一些url的处理
        '
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://192.168.1.101:8012/;
    }
    

其中,rewrite_by_lua里面根据url的规则,做了下rewrite操作
现在想增加一个web站点的location, 如下

    location = ~^/admin {
        root   html;
        index  index.html index.htm;
    }
    

通常情况下,如果没有上面的rewrite的location, 根loation /会指向下面的这个html页面
但是我本以为这个/admin的location会生效。 毕竟location是遵循惰性加载的。实际上并没有生效。
不知道为啥?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

杀手六號 2022-09-14 15:38:15

location = ~^/admin 是什么语法?要么精确匹配,要么正则匹配,哪有一起用的?我猜你应该是想用 location /admin

文档: https://nginx.org/en/docs/htt...

薄暮涼年 2022-09-14 15:38:15

深夜写location, 很容易出错。正确的是这样的

location /admin {
    root   html;
    index  index.html index.htm;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文