2 votes

Nginx proxy_pass error 500 sur certains fichiers

Nouveau de ce côté de StackExchange. J'ai essayé de mettre en place un serveur nginx pour servir de serveur http frontal qui redirige vers d'autres serveurs au sein du réseau (plus tard, il sera utilisé pour l'équilibrage de la charge, mais pour l'instant, nous voulons juste que le proxy fonctionne),

J'ai configuré les éléments suivants pour l'emplacement :

   location /site/ {
        proxy_pass   http://www.mysite.com:port/site/;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_max_temp_file_size 0;

        client_max_body_size       10m;
        client_body_buffer_size    128k;

        proxy_connect_timeout      90;
        proxy_send_timeout         90;
        proxy_read_timeout         90;

        proxy_buffer_size           4k;
        proxy_buffers               4 32k;
        proxy_busy_buffers_size     64k;
        proxy_temp_file_write_size  64k;
    }

Mon problème actuel est le suivant : tout se charge bien sur la première page (page d'accueil) et la deuxième page (formulaire de connexion), mais lorsque l'utilisateur se connecte et accède à la troisième page (tableau de bord), le navigateur ne parvient pas à charger certaines pages qui sont chargées dynamiquement à l'intérieur (par exemple, des éléments jsp).

Le truc marrant, c'est que si je mets en place un emplacement qui va à http://www.mysite.com:port et ensuite, il suffit d'y accéder par http://localhost:8080/site/ il charge tout, fait la connexion et un utilisateur est capable d'utiliser tout ce qui est à l'intérieur, sans problème.

On pourrait se dire "faites en sorte qu'ils l'utilisent de cette façon", mais je veux cacher le nom complet de la page sur l'autre serveur.

Comment puis-je faire cela sans que ces fichiers renvoient des erreurs 500 ?

PS : le proxy est configuré pour gérer les données d'un serveur d'application JBoss. (je l'ajoute ici, car il se peut que le serveur JBoss n'apprécie pas vraiment la gestion du nom par le proxy).

0voto

vario Points 21

Je pense que les données post/get/session ne sont pas transmises correctement ? Lorsque je joue avec le proxy nginx, je trouve les meilleurs indices en suivant les horodatages entre les journaux de la proxybox nginx dans /var/log/nginx et en les comparant aux journaux du système par lequel les êtres humains sont passés. Je trouve souvent des choses comme des réécritures d'url cassées (comme configurer accidentellement nginx pour qu'il passe les données uri à une variable _GET au lieu de passer l'url brute), ou des choses simplement "non trouvées". Surtout pour les erreurs 500

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X