mulanee Posté(e) le 7 décembre 2020 Partager Posté(e) le 7 décembre 2020 Bonjour, J'ai un petit serveur web sur mon 213+ Mon serveur oriente vers 2 vhosts, correspondant l'un à un site public sur un répertoire /web/public, l'autre à un intranet sur un répertoire /web/prive (objet d'un autre fil) Je voudrais qu'il n'y ait pas d'accès à mon intranet depuis l'extérieur .htaccess ne fonctionne pas avec nginx pour une redirection par IP idem avec Apache, et en plus j'ai des soucis d'affichage Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
Mike913 Posté(e) le 7 décembre 2020 Partager Posté(e) le 7 décembre 2020 Bonjour NGINX ne prend pas en compte les fichiers .htaccess. Pour orienter vers un site en fonction de l'adresse IP: <?php if (ereg('192.168',$_SERVER['REMOTE_ADDR'])) { header("Location: http://siteLLocal/"); } else { header("Location: http://sitePublique/ "); } ?> Et pour les fichiers css il est possible que les css soient mis en cache pour éviter cela: <?php echo '<link rel="stylesheet" href="css/Style.css?'.filemtime("css/Style.css").'" type="text/css" />'."\n"; ?> et ne pas se tromper dans les chemins des fichiers Lien vers le commentaire Partager sur d’autres sites More sharing options...
mulanee Posté(e) le 7 décembre 2020 Auteur Partager Posté(e) le 7 décembre 2020 Pour les css, je suis passé d'Apache 2.4 à Apache 2.2 et ça fonctionne (?) Quant au php de redirection , ça ne fonctionne pas, j'ai droit à une page blanche Lien vers le commentaire Partager sur d’autres sites More sharing options...
Mike913 Posté(e) le 7 décembre 2020 Partager Posté(e) le 7 décembre 2020 désolé la fonction ereg n'existe plus en php 7 Essaye <?php echo $_SERVER['REMOTE_ADDR']."<br>"; if (strpos("192.168.",$_SERVER['REMOTE_ADDR'])==0) { echo "Site Local"; // header("Location: http://siteLLocal/"); } else { echo "Site Publique"; // header("Location: http://sitePublique/ "); } ?> Lien vers le commentaire Partager sur d’autres sites More sharing options...
mulanee Posté(e) le 7 décembre 2020 Auteur Partager Posté(e) le 7 décembre 2020 il y a 54 minutes, Mike913 a dit : <?php echo $_SERVER['REMOTE_ADDR']."<br>"; if (strpos("192.168.",$_SERVER['REMOTE_ADDR'])==0) { echo "Site Local"; // header("Location: http://siteLLocal/"); } else { echo "Site Publique"; // header("Location: http://sitePublique/ "); } ?> Pas mal. Au moins on ne peut pas rentrer dans le site privé, mais le test ne renvoie pas sur la bonne réponse en fonction de l'IP: Citation 82.102.xx.xxx Site Local Citation 192.168.1.254 Site Local Lien vers le commentaire Partager sur d’autres sites More sharing options...
Mike913 Posté(e) le 7 décembre 2020 Partager Posté(e) le 7 décembre 2020 Teste ceci: <?php function test($IP) { $rep = "?"; $pos = strpos($IP,"192.168."); if ($pos === 0) $rep = "Local"; else $rep = "Public"; return $rep; } // ================= $IP="82.102.xx.xxx"; $site = test ($IP); echo $IP." ".$site."<br>"; echo "-------------------------<br>"; $IP="192.168.1.254"; $site = test ($IP); echo $IP." ".$site."<br>"; ?> Lien vers le commentaire Partager sur d’autres sites More sharing options...
mulanee Posté(e) le 7 décembre 2020 Auteur Partager Posté(e) le 7 décembre 2020 il y a 20 minutes, Mike913 a dit : Teste ceci: <?php function test($IP) { $rep = "?"; $pos = strpos($IP,"192.168."); if ($pos === 0) $rep = "Local"; else $rep = "Public"; return $rep; } // ================= $IP="82.102.xx.xxx"; $site = test ($IP); echo $IP." ".$site."<br>"; echo "-------------------------<br>"; $IP="192.168.1.254"; $site = test ($IP); echo $IP." ".$site."<br>"; ?> Ca donne ça: Citation 82.102.xx.xxx Public ------------------------- 192.168.1.254 Local Lien vers le commentaire Partager sur d’autres sites More sharing options...
mulanee Posté(e) le 10 décembre 2020 Auteur Partager Posté(e) le 10 décembre 2020 Bonjour , Je souhaite que les accès extérieurs http arrivant sur /web soient redirigés vers /web/toto, comment faire? Merci. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kramlech Posté(e) le 10 décembre 2020 Partager Posté(e) le 10 décembre 2020 Les "Virtual Host" de Web Station sont faits pour cela, non ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
mulanee Posté(e) le 10 décembre 2020 Auteur Partager Posté(e) le 10 décembre 2020 Il y a 2 heures, Kramlech a dit : Les "Virtual Host" de Web Station sont faits pour cela, non ? Probablement, mais le fait est que j'arrive directement à /web quand je rentre mon IP depuis l'extérieur Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kramlech Posté(e) le 10 décembre 2020 Partager Posté(e) le 10 décembre 2020 il y a 56 minutes, mulanee a dit : je rentre mon IP depuis l'extérieur C'est normal, car le principe d'un Virtual Host est de rediriger un nom de domaine (de type "monsite.mondomaine.fr") vers un sous dossier "web/monsite". On ne peut avoir un Virtual Host avec une IP !!! Lien vers le commentaire Partager sur d’autres sites More sharing options...
mulanee Posté(e) le 10 décembre 2020 Auteur Partager Posté(e) le 10 décembre 2020 il y a 11 minutes, Kramlech a dit : C'est normal, car le principe d'un Virtual Host est de rediriger un nom de domaine (de type "monsite.mondomaine.fr") vers un sous dossier "web/monsite". On ne peut avoir un Virtual Host avec une IP !!! Sur le principe ça me dérange quand même qu'on arrive à rentrer en connaissant mon IP, j'aimerais bien interdire tous les accès sauf les adresses internes 192.168. par exemple. Et d'autre part dans le même esprit, j'ai un sous répertoire /web/dir1 (virtualhost1) que j'aimerais rendre accessible seulement aux adresses internes, en redirigeant vers un autre sous répertoire /web/dir2 (monsite.mondomaine.fr) qui est lui destiné aux accès externes Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kramlech Posté(e) le 10 décembre 2020 Partager Posté(e) le 10 décembre 2020 il y a 19 minutes, mulanee a dit : Sur le principe ça me dérange quand même qu'on arrive à rentrer en connaissant mon IP, j'aimerais bien interdire tous les accès sauf les adresses internes 192.168. par exemple. Je ne comprend pas tout. Tu veux rendre ton site accessible depuis l'extérieur ou pas ? Si tu veux qu'il soit accessible de l’extérieur via l'URL et pas via l'IP, je pense que c'est au niveau du pare-feu qu'il faut que tu agisses. Mais sache que toute personne connaissant ton nom de domaine connait aussi ton IP (c'est l'objet des serveurs DNS)... il y a 25 minutes, mulanee a dit : j'ai un sous répertoire /web/dir1 (virtualhost1) que j'aimerais rendre accessible seulement aux adresses internes, en redirigeant vers un autre sous répertoire /web/dir2 (monsite.mondomaine.fr) qui est lui destiné aux accès externes Deux sites, donc deux noms de site (monsite1.mondomaine.fr et monsite2.mondomaine.fr) + paramétrage du pare-feu ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
mulanee Posté(e) le 10 décembre 2020 Auteur Partager Posté(e) le 10 décembre 2020 Je veux autoriser /web/dir2 (monsite.mondomaine.fr), l'IP n'est pas trouvable simplement car c'est une redirection (synology.me) Le VH de dir1 (virtualhost1) est une redirection par le serveur dns synology pas accessible par le nom depuis l'extérieur, mais accessible par monip/dir1 puisque monip pointe sur /web Je veux interdire l'accès à /web/dir1 (virtualhost1 interne) depuis l'extérieur, de même qu'à /web Pour faire tout ça je voudrais mettre un .htaccess ou un index.php qui redirige en fonction de l'IP vers le site accessible si c'est un IP publique, ou qui permette de rentrer si c'est une IP interne. edit: Possible probablement par une règle du firewall mais je n'ai pas trouvé de critère par directory Lien vers le commentaire Partager sur d’autres sites More sharing options...
Kramlech Posté(e) le 10 décembre 2020 Partager Posté(e) le 10 décembre 2020 Tu veux qu'en utilisant une même URL, cela t'envoie sur des sites différents selon que tu appelles cette url depuis ton réseau local ou depuis l'extérieur ? Ca me parait tordu, et là je ne te serai d'aucun secours.... Il va falloir que quelqu'un de plus intelligent passe par là .... Lien vers le commentaire Partager sur d’autres sites More sharing options...
mulanee Posté(e) le 11 décembre 2020 Auteur Partager Posté(e) le 11 décembre 2020 Il y a 8 heures, Kramlech a dit : Tu veux qu'en utilisant une même URL, cela t'envoie sur des sites différents selon que tu appelles cette url depuis ton réseau local ou depuis l'extérieur ? Ca me parait tordu, et là je ne te serai d'aucun secours.... Il va falloir que quelqu'un de plus intelligent passe par là .... Non ce n'est pas ça, j'ai mal expliqué. Je veux qu'en entrant http://monipexterieure ou http://monipexterieure/dir2 j'arrive sur le répertoire /web/dir2 depuis l'extérieur (ou l'intérieur) Je ne veux pas qu'en entrant http://monipexterieure/dir1 on arrive sur le répertoire /web/dir1 depuis l'extérieur, dir1 étant réservé à mes adresses IP intérieures (192.168. par exemple) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.