可搜索,可注册,可登录,致敬逗比大佬!尽在救援版逗比根据地 dbgjd.com
投稿文章 | 广告合作 | Telegram 群组 / 公告频道 / 使用教程

Nginx internal 仅内部调用

News mlone11978 99℃ 0评论

想要建立一个仅内部可用的 server 或 location,使用 internal 指令是一种有效的方式。

internal

internal 指令用于指定只允许来自本地 Nginx 的内部调用,来自外部的访问会直接返回 404 not found 状态。

syntax:  internal; context: server, location  example: internal; 

举个例子,internal 可以这样指定:

    location /internal/ {         internal;          proxy_pass  http://localhost:8000/;     } 

直接在浏览器访问网站 /internal/ 路径,你会发现服务端返回了 404 状态。

那么使用 internal 建立内部块后,可以怎么调用呢?本文介绍两种基于内部重定向的方式:其中一种使用 Nginx rewrite 模块,另一种方式则是利用 Openresty 的 ngx.exec 模块。

rewrite

    location / {         rewrite .* /internal/ last;     } 

其中 last 或 break 均可提供内部重定向。

ngx.exec

    location / {         access_by_lua_block {             return ngx.exec("/internal/")         }     } 

其中 ngx.exec 可参考 Openresty 官方文档

转载请注明:逗比根据地 » Nginx internal 仅内部调用

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址