[Résolu] Nginx erreur 403 Forbidden

Salut à tous

Voici un peu ma configuration
192.168.1.10 -> proxmox (debian 9)
192.168.1.20 -> Virtual Machine: Centos7 + web panel

donc en 1.20 c’est le serveur web utilisant apache.
j’ai fais un sous domaine deb.mondomaine.fr et j’ai fait pointer le domaine sur 1.10 grace à ceci

ProxyPreserveHost On
ProxyPass “/” "http:\192.168.1.10/"
ProxyPassReverse “/” “http:\192.168.1.10/”

j’ai mis phpsysinfo sur 1.10 afin de voir la charge système
les permissions sur tout le dossier /phpsysinfo sont 644 pour les fichiers 755 pour les dossiers, chown www-data:www-data

si je vais sur http:\192.168.1.10\phpsysinfo aucun problème, si je vais sur http:\deb.mondomaine.fr\phpsysinfo alors j’ai une erreu XML
j execute donc xml.php sur 1.10 pas de problème sur deb.domaine j’ai ceci

Forbidden
You don’t have permission to access /phpsysinfo/index.php on this server.

Quelqu’un aurait une idée, là je ne sais plus quoi faire

Merci d’avance

Je ne connais pas bien nginx, mais ça m’a plutôt l’air de directives apache, ça.
Cf: https://www.nginx.com/resources/wiki/start/topics/examples/likeapache/

oui j’ai marqué que le 1.20 était sous apache
le 1.10 ou est phpsysinfo lui est sous nginx

Ça ressemble a une histoire d’autorisation de la part d’Apache. Quelle version utilises-tu ?

En plus de ta config de sous domaine apache en proxy, sur le nginx 1.10, tu as bien un name virtualhost (je sais pas si on dit comme ça pour nging) qui sert phpsysinfo sur le sous domaine (indépendament de servir sur l’ip) ?

alors serveur web Apache 2.4.29 sur le centos 1.20
sur 1.10 proxmox debian nginx/1.10.3

Alors je crois que c’est ça que tu m’a demandé

server {
listen 80;

    server_name deb.mondomaine.fr;
    root /usr/share/nginx/html;

    index index.php index.html;

    location / {
            try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_index index.php;
            fastcgi_pass 127.0.0.1:9000;
            #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/$fastcgi_script_name;
            include /etc/nginx/fastcgi_params;
    }

}

Comment contrôles-tu tes accès ? Par mod_authz_host ?
Regarde de ce côté, notamment pour les require, voir si tu n’as pas des restrictions trop grandes.

Étrangement, ça vient de fonctionner et plus rien, même le index.php me fait l erreur 403

heuu a part le proxy que je mets dans la conf apache rien d’autre.
Peux tu m’expliquer ?

Depuis la version 2.4, Apache gère ses autorisations d’accès par des modules.
Je connais mieux le fonctionnement précédent (je suis passé à nginx entre temps) mais ça remplace semble-t-il les “Allow” et les “Deny” habituels des vhosts.

Si tu n’as rien, ça ne veut pas forcément dire que c’est ouvert, il vaut mieux préciser en dur les autorisations d’accès.

pour le 1.10 nginx j’ai ajouté ceci

    location /phpsysinfo {
            allow all;
    }

sur 1.20 apache

< Directory />
Require all granted
< /Directory>

rien à changé

Ok. Je ne vois pas ce qui coince du côté des permissions, donc.
Par hasard, as-tu de quoi lire le php sur ton nginx ?

Oui j’ai tout ce qu’il faut

J’ai enfin trouvé !!!

Cela venait du 1.20 centos web panel
Le mod security me bloquait l’accès

[msg “Restricted SQL Character Anomaly Detection Alert - Total # of special characters exceeded”]

j’ai mis une exception sur le sous-domaine, et ca fonctionne.

Merci de votre aide

Bien joué !

et dire que j’ai passé ma journée pour ça :joy::stuck_out_tongue_winking_eye::stuck_out_tongue_winking_eye::stuck_out_tongue_winking_eye: