的nginx / 1.12.2
我正在开发一个玩具项目。它将在家中举办。
我没有公共IP。所以,我会用ngrok。 这是一种转发IP的服务:
http://bf3bf81c.ngrok.io -> localhost:80
现在,如果世界上任何地方的用户在浏览器的地址栏中输入http://bf3bf81c.ngrok.io,http请求将被定向到我的计算机并转发到端口80.
我想做的是禁止从本地计算机以外的任何地方访问管理员。
好吧,我失败了。使用ngrok所有请求都好像来自localhost。 所以,这不起作用。
allow 127.0.0.1;
deny all;
好吧,我无法直接联系localhost:8000 / admin。因为在这种情况下不会使用静态文件。
我发明的唯一方法是:
杀死ngrok。因此,外面没有人可以访问该网站。
评论“否认”。
在管理员工作。
取消注释deny指令,启动ngrok。
嗯,这有点笨拙。你能建议我一个更优雅的解决方案吗?
nginx.conf
server {
listen 80;
location /admin/ {
deny all;
}
location / {
proxy_pass http://localhost:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}