recherche

Maison  >  Questions et réponses  >  le corps du texte

Erreur 403 de ressource statique de proxy inverse nginx ?

Déployez le projet Node pour les tests en ligne. Lors de l'utilisation du proxy inverse nginx, une erreur de ressource statique 403 se produit. La configuration locale est correcte, mais la même configuration en ligne produit une erreur :

upstream nodeblog{
        server 127.0.0.1:3000;
        keepalive 65;
}
server {
        listen 443;
        ssl on;
        server_name ;
        ssl_certificate ;
        ssl_certificate_key ;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ;
        ssl_session_timeout 5m;
        ssl_prefer_server_ciphers on;
        location / {
                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_set_header Connection '';
                proxy_pass http://nodeblog;
        }
        location ~ .*\.(css|js|jpg|png|gif)$ {
                alias "/root/nodeApp/public/";
                expires 3d;
        }
}

En suivant les invites, j'ai défini les autorisations 777 pour tous les fichiers du répertoire, mais j'ai toujours une erreur 403

为情所困为情所困2735 Il y a quelques jours925

répondre à tous(2)je répondrai

  • 巴扎黑

    巴扎黑2017-06-28 09:24:47

    J'ai trouvé une raison. Comme il fonctionne avec les autorisations root, il se peut que nginx n'ait pas d'autorisations sur le répertoire. Par conséquent, le serveur personnel n'a pas attribué d'autres utilisateurs, alors ouvrez la première ligne dans nginx.conf et changez d'utilisateur. personne à l'utilisateur root pour que nginx puisse s'exécuter avec les privilèges root.

    Ce n'est certainement pas une bonne solution. J'ai une compréhension générale de la raison de 403. Le processus nginx ne dispose pas des autorisations pertinentes pour le dossier de ressources statiques actuel. Vous devez définir séparément les autorisations de nginx pour ce répertoire.
    J'espère qu'il y en a. une bonne solution

    répondre
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-28 09:24:47

    La raison est que la commande alias n'a pas été utilisée correctement.
    Documents officiels

    Si l'alias est utilisé à l'intérieur d'un emplacement défini avec une expression régulière
    alors cette expression régulière doit contenir des captures et l'alias doit
    faire référence à ces captures (0.7.40)
    http://nginx.org/r/alias

    Essayez la configuration suivante

            location ~ .*\.(css|js|jpg|png|gif)$ {
                    alias "/root/nodeApp/public/";
                    expires 3d;
            }

    répondre
    0
  • Annulerrépondre