首页 Nginx Nginx阻止/拒绝访问多个位置正则表达式

Nginx阻止/拒绝访问多个位置正则表达式

我使用Nginx作为我的Apache灌注的反向代理,作为一个安全功能,它阻止除了localhost之外的所有人访问phpmyadmin,webalizer等但是使用nginx它会让Apache认为它是localhost所以它公开显示给每个人.LocationMatch ^/(?i:(?:xampp|security|phpmyadmin|licen

我使用Nginx作为我的Apache灌注的反向代理,作为一个安全功能,它阻止除了localhost之外的所有人访问phpmyadmin,webalizer等但是使用nginx它会让Apache认为它是localhost所以它公开显示给每个人.

我需要将以上规则模式匹配正则表达式转换为以下内容.

location /phpmyadmin {
        proxy_pass         htt://127.0.0.1:8080/phpmyadmin;
        allow 127.0.0.1;
        deny all;
    }

非常感谢任何熟悉Nginx正则表达式的人的帮助.

以下方法可以正常工作,但会破坏搜索引擎友好的普通网站网址,例如domain.com/forums/server-info

location ~ /(xampp|security|phpmyadmin|licenses|webalizer|server-status|server-info) {
    deny  all;
}

由于apache正则表达式具有’^’,我们可以使用’^’来强制匹配路径的开头.

location ~ ^/(xampp|security|phpmyadmin|licenses|webalizer|server-status|server-info) {
  proxy_pass         http://127.0.0.1:8080$request_uri;
  .... allow/deny directives come here
}

[编辑]括号内的匹配字符串存储在$1中.所以你可以试试

http://127.0.0.1:8080/$1

如果那是你想要的.但是,我的理解是你想将整个uri路径传递给apache服务器.在这种情况下,使用nginx变量$request_uri更简单.

本文来自网络,不代表青岛站长网立场。转载请注明出处: https://www.0532zz.com/html/yunying/nginx/20201114/12191.html
上一篇
下一篇

作者: dawei

【声明】:青岛站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

【免责声明】本站内容转载自互联网,其发布内容言论不代表本站观点,如果其链接、内容的侵犯您的权益,烦请提交相关链接至邮箱xwei067@foxmail.com我们将及时予以处理。

Copygight © 2016-2023 https://www.0532zz.com All Rights Reserved.青岛站长网

站长:xwei067#foxmail.com(请把#换成@)