如何通过Nginx Auth允许来自localhost的调用?

Shr*_*ath 3 nginx

我使用以下代码:

location / {  
  satisfy any;  
  allow 127.0.0.1;  
  deny all;  
  auth_basic "closed site";  
  auth_basic_user_file conf/htpasswd;  
}
Run Code Online (Sandbox Code Playgroud)

但当我这样做curl -I "http://mysite.com"时返回401 :(
我如何允许localhost?

编辑:
我使用的机器是亚马逊ec2实例.

好,

当你打电话给mysite.com时,我没有意识到amazon ec2实例会调用它的外部/公共IP :)

真傻.

所以我接受@Capilé对他提到的hosts文件解决方法的回答.

Cap*_*ilé 5

这是正确的,但可能mysite.com没有到达服务器的127.0.0.1接口.如果你尝试curl -I "http://127.0.0.1"(或任何localhost别名),你应该得到它.

或者,您可以通过/ etc/hosts(Windows上的c:\ windows\system32\drivers\etc\hosts)将mysite.com添加到127.0.0.1:

127.0.0.1  mysite.com
Run Code Online (Sandbox Code Playgroud)

干杯,

  • 啊,我刚刚通过查看日志偶然发现了我自己评论的答案:默认情况下,localhost 呈现为 IPv6,因此一个简单的“allow ::1”解决了我的问题。 (2认同)