# Nginx : 403 Forbidden

**URL:** <https://www.debian-fr.org/t/nginx-403-forbidden/87000>\
**Category:** Support Debian\
**Created:** [Août 20, 2022, 10:11 UTC](https://www.debian-fr.org/t/nginx-403-forbidden/87000 "2022-08-20T10:11:28Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![ignace1972](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ignace1972/32/12214_2.png) [@ignace1972](https://www.debian-fr.org/u/ignace1972)\
**Post date:** [Août 20, 2022, 10:11 UTC](https://www.debian-fr.org/t/nginx-403-forbidden/87000/1 "2022-08-20T10:11:28Z")

</div>

Bonjour à tous et à toutes.  
Nouveau venu, j’ai installé une machine virtuelle sur ma Freebox Delta avec une Debian 11 arm64 pour héberger mon site internet actuellement chez Gandi.  
J’ai installé Nginx, PHP et MariaDB.  
Quand je vais sur l’adresse IP de la machine virtuelle, j’ai erreur : 403 Forbidden.  
Voilà mon nginx.conf :  
user www-data;  
worker\_processes 1;

```
    events {
        worker_connections 1024;
    }

    http {
        include mime.types;
        default_type application/octet-stream;

        sendfile on;
        keepalive_timeout 65;

        gzip on;
        error_log /var/log/nginx/error_log warn;

        # DEFAULT
    server {
           listen 80;
           server_name ignace72.eu;

                root /var/www/html;

                location / {
            index index.html index.htm index.php;
            try_files $uri $uri/ /index.php?$args;
        }

        location ~ \.php$ {
            # 404
            try_files $fastcgi_script_name =404;

            # default fastcgi_params
            include fastcgi_params;

            # fastcgi settings
            fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
            fastcgi_index index.php;
            fastcgi_buffers 8 16k;
            fastcgi_buffer_size 32k;

            # fastcgi params
            fastcgi_param DOCUMENT_ROOT	$realpath_root;
            fastcgi_param SCRIPT_FILENAME	$realpath_root$fastcgi_script_name;
            #fastcgi_param PHP_ADMIN_VALUE	"open_basedir=$base/:/usr/lib/php/:/tmp/";
        }

        }

        include sites-enabled/*;
    }

```

Si quelqu’un a une idée pour résoudre mon problème ?  
Merci d’avance.

---

<div class="post-metadata">

**Author:** ![vbreton](https://www.debian-fr.org/user_avatar/www.debian-fr.org/vbreton/32/11400_2.png) [@vbreton](https://www.debian-fr.org/u/vbreton)\
**Post date:** [Août 20, 2022, 1:33 UTC](https://www.debian-fr.org/t/nginx-403-forbidden/87000/2 "2022-08-20T13:33:44Z")

</div>

> [@ignace1972](#):
>
> Quand je vais sur l’adresse IP de la machine virtuelle, j’ai erreur : 403 Forbidden.

Et si tu tapes www.ignace72.eu au lieu de l’IP, ça donne quoi ?  
Autant que possible, essaye de faire les tests directement sur la VM puis si ça passe sur une autre machine du réseau local, puis après le routeur. Il y a aussi le fichier /etc/hosts à compléter pour une connexion locale.

---

<div class="post-metadata">

**Author:** ![ignace1972](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ignace1972/32/12214_2.png) [@ignace1972](https://www.debian-fr.org/u/ignace1972)\
**Post date:** [Août 20, 2022, 2:15 UTC](https://www.debian-fr.org/t/nginx-403-forbidden/87000/3 "2022-08-20T14:15:20Z")

</div>

Merci pour ta réponse.  
Si je tape ignace72.eu (dans la VM), ça me donne l’erreur 502 Bad Gateway.  
Pour l’instant, je ne peux pas tester sur mon système réel car ignace72.eu me renvoi sur mon site chez Gandi.

---

<div class="post-metadata">

**Author:** ![vbreton](https://www.debian-fr.org/user_avatar/www.debian-fr.org/vbreton/32/11400_2.png) [@vbreton](https://www.debian-fr.org/u/vbreton)\
**Post date:** [Août 20, 2022, 7:22 UTC](https://www.debian-fr.org/t/nginx-403-forbidden/87000/4 "2022-08-20T19:22:06Z")

</div>

Sauf si tu complète ton fichier /etc/hosts qui prendra le dessus. Une fois qu’en local sa passera, tu mettra la ligne en commentaire pour aller plus loin. Tant que sur le poste local ca ne fonctionne pas, il est inutile d’essayer sur une autre machine du réseau local. Tant que ça ne passe pas sur une autre machine du réseau local, il est inutile d’essayer sur une machine sur le Web.

Sur le /etc/hosts de ta VM:

```nohighlight
127.0.0.1 www.ignace72.eu

```

Si tu n’as pas de navigateur Internet sur ta VM, tu peux tenter de charger la page d’accueil de ton site avec la commande wget:

```bash
wget http://www.ignace72.eu

```

Si ça marche, sur un autre poste du réseau local complète sa table /etc/hosts avec l’adresse IP de la VM  
Exemple si l’IP de la VM est 192.168.0.40:

```nohighlight
192.168.0.40 www.ignace72.eu

```

puis teste dans ton navigateur ou avec wget l’accès à www.ignace72.eu

---

<div class="post-metadata">

**Author:** ![ignace1972](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ignace1972/32/12214_2.png) [@ignace1972](https://www.debian-fr.org/u/ignace1972)\
**Post date:** [Août 20, 2022, 9:05 UTC](https://www.debian-fr.org/t/nginx-403-forbidden/87000/5 "2022-08-20T21:05:55Z")

</div>

Bon, va falloir que je réinstalle la VM.  
J’étais passé sur 127.0.0.1 ignace72.eu et ça ne fonctionnait pas.

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Août 22, 2022, 8:40 UTC](https://www.debian-fr.org/t/nginx-403-forbidden/87000/6 "2022-08-22T08:40:00Z")

</div>

Quand on développe, teste ou autre, je travaille toujours sur un sous domaine local, j’ai un serveur de nom de domaine, ce qui me permet de faire comme je veix. Ensuite il est facile dans la configuration du serveur de changer, par exemple, net.ignace72.eu par ignace72.eu.

Je n’utilise jamais le fichier /etc/hosts pour ma part.

Si tu as un serveur local, créé toi une zone interne, fait ton server dusses avant de l modifier ensuite pour déploiem en en production.

l’autre solutinon, c’est de te faire une plateforme virtuelle d’intégration, avec un serveur web, et une seconde machine qui te sert de poste de travail dans laquelle tu peux configurer un fichier hosts ou mettre un serveur DNS.  
Ces deux machines sont alors mises dans un réseau interne à l’hyperviseur.

---

<div class="post-metadata">

**Author:** ![vbreton](https://www.debian-fr.org/user_avatar/www.debian-fr.org/vbreton/32/11400_2.png) [@vbreton](https://www.debian-fr.org/u/vbreton)\
**Post date:** [Août 22, 2022, 9:23 UTC](https://www.debian-fr.org/t/nginx-403-forbidden/87000/7 "2022-08-22T09:23:08Z")

</div>

> [@Zargos](#):
>
> Je n’utilise jamais le fichier /etc/hosts pour ma part

C’est normal puisques tu utilises ton propre serveur DNS qui contrairement au fichier /etc/hosts n’est pas installé par défaut.

---

<div class="post-metadata">

**Author:** ![ignace1972](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ignace1972/32/12214_2.png) [@ignace1972](https://www.debian-fr.org/u/ignace1972)\
**Post date:** [Août 22, 2022, 1:36 UTC](https://www.debian-fr.org/t/nginx-403-forbidden/87000/8 "2022-08-22T13:36:11Z")

</div>

Bonjour à vous deux.  
Maintenant, ça fonctionne comme vous pouvez le voir à cette adresse : [http://82.65.105.225/](http://82.65.105.225/) par-contre PHP fonctionne sur la machine virtuelle mais pas en production, voir ici : [http://82.65.105.225/infos.php](http://82.65.105.225/infos.php).  
Dois-je créer un nouveau fil ou puis-je parler de ce problème sur ce fil ?  
Merci à vous deux.

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Août 22, 2022, 2:04 UTC](https://www.debian-fr.org/t/nginx-403-forbidden/87000/9 "2022-08-22T14:04:08Z")

</div>

> [@vbreton](#):
>
> C’est normal puisques tu utilises ton propre serveur DNS qui contrairement au fichier /etc/hosts n’est pas installé par défaut.

En fait non, ce n’est pas parce ue j’ai un serveur DNS que je n’utilise pas le fichier hosts, mais j’utilise un serveur DNS pour ne pas utiliser le fichier hosts

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Août 22, 2022, 2:05 UTC](https://www.debian-fr.org/t/nginx-403-forbidden/87000/10 "2022-08-22T14:05:42Z")

</div>

> [@ignace1972](#):
>
> Maintenant, ça fonctionne comme vous pouvez le voir à cette adresse : [http://82.65.105.225/](http://82.65.105.225/) par-contre PHP fonctionne sur la machine virtuelle mais pas en production, voir ici : [http://82.65.105.225/infos.php](http://82.65.105.225/infos.php).  
> Dois-je créer un nouveau fil ou puis-je parler de ce problème sur ce fil ?

C’est une erreur de code:  
`<?php phpinfo();`

Au lieu de

```auto
<?php
   phpinfo(); 
?>

```

---

<div class="post-metadata">

**Author:** ![vbreton](https://www.debian-fr.org/user_avatar/www.debian-fr.org/vbreton/32/11400_2.png) [@vbreton](https://www.debian-fr.org/u/vbreton)\
**Post date:** [Août 22, 2022, 2:35 UTC](https://www.debian-fr.org/t/nginx-403-forbidden/87000/11 "2022-08-22T14:35:07Z")

</div>

S’il faut installer un serveur DNS et le configurer au lieu d’une ligne dans le fichier /etc/host, le choix est vite fait, surtout dans le cadre d’une maintenance. Ceci dit, dans le cadre d’une infrastructure qui présenterait déjà un serveur DNS alors n’hésite pas à créer un nouveau sujet avec ta solution qui en intéressera plus d’un, moi le premier ne serait-ce qu’à titre de curiosité.

---

<div class="post-metadata">

**Author:** ![ignace1972](https://www.debian-fr.org/user_avatar/www.debian-fr.org/ignace1972/32/12214_2.png) [@ignace1972](https://www.debian-fr.org/u/ignace1972)\
**Post date:** [Août 22, 2022, 3:03 UTC](https://www.debian-fr.org/t/nginx-403-forbidden/87000/12 "2022-08-22T15:03:28Z")

</div>

Bon, si je met dans mon /etc/hosts de ma Manjaro :  
`82.65.105.225 ignace72.eu`  
PHP fonctionne, donc je l’enlève de mon /etc/hosts pour continuer à avoir accès à mon site internet.  
Problème résolu.  
Merci à vous deux.

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Août 22, 2022, 3:37 UTC](https://www.debian-fr.org/t/nginx-403-forbidden/87000/13 "2022-08-22T15:37:50Z")

</div>

> [@vbreton](#):
>
> S’il faut installer un serveur DNS et le configurer au lieu d’une ligne dans le fichier /etc/host, le choix est vite fait, surtout dans le cadre d’une maintenance. Ceci dit, dans le cadre d’une infrastructure qui présenterait déjà un serveur DNS alors n’hésite pas à créer un nouveau sujet avec ta solution qui en intéressera plus d’un, moi le premier ne serait-ce qu’à titre de curiosité.

Ça je pourrais, si ce n’est que c’est simplement le remplacement de ma livebox par un mini PC sous OPNsense.  
Il marche aussi sous Debian, mais je suis encore en phase de tests au niveau de la sécurité, car coté système, les fonctionnalités voulues marchent très bien 🙂
