Comment puis-je tester si mon serveur apache est un proxy ouvert?

11

Existe-t-il une commande curl qui validera si un serveur agit comme un proxy ouvert?

J'ai essayé

curl --proxy http://<my server>:80 http://yahoo.com

Mais la réponse d'Apache est:

Description: Could not process this "GET" request.
Volonté
la source
10
Ça devrait le faire. Cette réponse signifie qu'il n'agit pas comme un proxy, sur ce port de toute façon. Si cela avait été le cas, vous auriez dû recevoir la page de Yahoo (ou l'authentification proxy, ou une autre réponse proxy).
squillman
Vous devriez également essayer de mandater un site https, http / https sont implémentés différemment. Les proxys apache que j'ai utilisés ne fonctionnent pas comme celui-ci, le serveur distant (mandaté) est spécifié quelque part dans une config. C'est comme lorsque vous voulez qu'une page d'un serveur aléatoire apparaisse sur votre site principal ou quelque chose.
Certains Linux Nerd
curl --proxy http: // <votreserveur>: 80 https: //mail.google.com # <--- https
Certains Linux Nerd
Mis à part les tests suggérés ci-dessus, vous pouvez simplement vérifier votre configuration. Pour configurer Apache en tant que proxy direct, il faut "ProxyRequests On" (il est désactivé par défaut). Il ne peut être activé qu'au niveau global (serveur) ou hôte virtuel, vous n'avez donc pas besoin de rechercher les fichiers htaccess.
Unbeliever

Réponses:

1

La réponse simple est la suivante: si vous avez ProxyRequests On(par défaut désactivé) quelque part dans votre configuration, vous exécutez peut-être un proxy ouvert, sinon, vous ne l'êtes pas, du moins du côté de la configuration Apache.

Si vous obtenez toujours des 200 OKentrées dans votre journal d'accès pour les demandes qui ressemblent à des demandes de proxy avancées, c'est probablement parce que vous avez des réécritures catchall qui mappent toute demande à un contrôleur, peu importe à quoi elle ressemble. Vous pourriez probablement ajouter des conditions pour éviter cela si vous êtes inquiet.

Incroyant
la source