NGINX反向代理禁止403

时间:2018-03-21 11:32:02

标签: node.js express nginx cloudflare

我有问题,我有一个express-js网络服务器,我用nginx反向代理托管它。我想要一个.htpasswd文件的基本身份验证。我复制了我的其他子域的配置,我实际上有它,它在那里工作,但在这个子域它不会工作。登录后我得到错误403.除了路径之外,配置完全相同。 这是我的配置。我已经替换了路径和域名。

upstream subdomain-domain-com{
        server 127.0.0.1:3003;
}
server {
        include cloudflare.domain.com.ssl;

        listen 443 ssl http2;
        listen [::]:443 ssl http2;


        server_name subdomain.domain.com;
        location ~ ^/(assets/|images/|img/|javascript/|js/|css/|stylesheets/|flash/|media/|static/|robots.txt|humans.txt|favicon.$
        root /srv/www/subdomain.domain.com/www/public/;
        access_log off;
        expires 24h;
        }
         location / {
                auth_basic "Kennwort eingeben";
                auth_basic_user_file /srv/www/subdomain.domain.com/.htpasswd;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_set_header X-NginX-Proxy true;
                proxy_pass http://127.0.0.1:3003/;
                proxy_redirect off;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header x-Forwarded-Proto $scheme;
        }


}

编辑:chmod = 777,用户= root 编辑²:如果我把.htpasswd的chown放到nginx:nginx没有发生任何事情

1 个答案:

答案 0 :(得分:0)

我刚刚阅读了日志,并说它无法找到.htpasswd。我改变了路径,现在它正在工作..