我正在尝试在nginx后面运行具有基本身份验证的node.js服务器。这是我的最小配置:

server {
  auth_basic "closed website";
  auth_basic_user_file /etc/nginx/.htpasswd;

  location / {
    proxy_pass  http://localhost:3000/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

我的第一个问题是,当我进入x.x.x.x时,每次(无限期地)按回车(无论设置为登录名和密码,甚至是好的密码),都会再次显示基本身份验证表单。

服务器仅返回一些纯文本res.end("Hello World\n");,在基本身份验证表单再次出现之前,我可以看到一秒钟。

第二个问题,是否有可能阻止x.x.x.x:3000(如果没有,则在:80上设置auth没有意义)。

谢谢!

顺便说一句,这是我第一次设置nginx(并且我已经花了很多时间了)。

注意:它可以在没有基本身份验证的情况下工作(或在我的位置使用auth_basic off;)。

目前,我的网站看起来总是这样:
node.js - 具有Nginx和基本身份验证的Node .js服务器-LMLPHP
:)

最佳答案

好吧,我的坏,明白了!

显然,.htpasswd have to be encryptedopenssl passwd中的密码可以正常工作。

第二个问题是一个简单的问题,iptables在那里。

希望这对Nginx的其他新用户有所帮助!

09-27 06:12