Question

Jusqu'à récemment, plusieurs sites virtuels étaient configurés comme suit:

<VirtualHost 127.0.0.1:1234>
    ...

Cela fonctionne très bien pour les tests sur ma machine locale, où j’utilise un bureau Linux. Afin de vérifier comment MS et Explorer affichent mes pages à partir de mon ordinateur portable Windows, je l’ai modifiée en

.
<VirtualHost *:1234>
    ...

Ce qui fonctionne également très bien, en appelant le site à partir de http: // [mylinuxservername]: 1234 sur mon ordinateur portable. C'EST À DIRE. Cependant, je veux limiter ce caractère générique au réseau local. Le branchement de n'importe quelle adresse IP, comme 192.nnn.nnn.nnn ou 192. *. *. * Dans laquelle le caractère générique est indiqué ci-dessus entraîne 403 Interdit sur la machine Windows. Le serveur local fonctionne toujours correctement sur ma machine Linux:

<VirtualHost 127.0.0.1:1234 192.*.*.*:1234>
    ...

ou

<VirtualHost 127.0.0.1:1234 192.nnn.nnn.nnn:1234> #exact IP of laptop
    ...

Quoi qu'il en soit, je n'aime pas ce caractère générique dans le deuxième exemple de configuration ci-dessus. Fait-il allusion à quelqu'un?

Était-ce utile?

La solution

Le (s) paramètre (s) de VirtualHost sont les adresses locales que vous écoutez, pas les adresses distantes.

Dans Apache 2.4 et versions ultérieures, utilisez la Require directive:

Require ip 127.0.0.0/8
Require ip 192.0.0.0/8

Si vous utilisez Apache 2.2 ou une version antérieure, utilisez la authz_host configuration:

Order Allow,Deny
Allow from 127.0.0.0/8
Allow from 192.168.0.0/16

Cela peut également fonctionner sur Apache 2.4, mais Commander et Autoriser sont obsolètes .

Autres conseils

Juste une note au cas où des noobs comme moi viendraient ici:)

  

Apache HTTP Server est configuré en plaçant des directives en texte brut.   fichiers de configuration. Le fichier de configuration principal est généralement appelé   httpd.conf.    Fichiers de configuration principaux

Pour la version 2.4

  

Les directives Allow, Deny et Order fournies par mod_access_compat,   sont obsolètes et disparaîtront dans une version ultérieure. Tu devrais éviter   utilisez-les et évitez les tutoriels obsolètes qui en recommandent l’utilisation.    Contrôle d'accès

Require ip 127.0.0.0/8
Require ip 192.0.0.0/8

ou (pas exactement pareil)

Require ip 127.0
Require ip 192.168

Utilisez iptables pour restreindre l’accès à la machine elle-même. La première commande autorisera le trafic HTTP à partir de n’importe quel réseau de la gamme 192 (notez que je pense que vous avez besoin que 192.168 soit réellement local, mais j’aurais peut-être tort.). La deuxième commande supprime simplement les paquets d’autres sources pour le port 80

iptables -I 1 INPUT -s 192.0.0.0/8 -p tcp --dport 80 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT


iptables -I 2 INPUT -p tcp --dport 80 -m state --state NEW -j DROP 

Ensuite, dans votre hôte virtuel, vous pouvez créer < VirtualHost *: 80 >

.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top