6 votes

Est-il possible pour CloudFlare de récupérer le contenu de 8080 et de le servir sur 80 ?

Est-il possible pour CloudFlare de récupérer le contenu que mon serveur fournit sur le port 8080 et de le servir sur le port 80 aux utilisateurs ?

Par exemple, j'ai l'adresse IP suivante 0.0.0.0 et domaine example.ga (enregistré auprès de CloudFlare). CloudFlare peut-il récupérer le contenu de 0.0.0.0:8080 et l'afficher sur example.ga:80 ?

0 votes

Oui (cependant, à notre époque, les deux devraient être https :) Et bien sûr, vous ne devez pas lui indiquer 0.0.0.0 mais l'adresse IP réelle de votre serveur. Cela nécessite que vous ayez des adresses différentes, c'est-à-dire des noms d'hôtes. Ainsi, vous configurez exemple.ga:80 sur cloudflare pour charger le contenu de inernal.exemple.ga:8080 ou 1.2.3.4:8080 (c'est généralement une bonne idée de cacher le véritable hôte et de ne pas le publier dans votre domaine).

0 votes

@eckes Comment le ferais-je ? CloudFlare ne me permet pas d'ajouter des numéros de port à la fin de mes adresses IP dans les enregistrements A. Merci !

5voto

Tim Points 28848

Pour autant que je sache, non. CloudFlare sur le plan gratuit ne peut pas faire de traduction de port. Si vous faites une demande sur le port 80, CloudFlare l'enverra à votre origine sur le port 80. CloudFlare est essentiellement invisible. Sur le plan d'entreprise, CloudFlare peut être en mesure de le faire pour vous.

Si votre serveur est sur le port 8080, vous devez installer un fichier reverse proxy . Cela peut se faire sur le même serveur que le serveur d'application ou sur un serveur différent. Sur un serveur différent, avec des règles de pare-feu appropriées, vous pouvez faire un DMZ ce qui renforce la sécurité.

Nginx est très souvent utilisé comme proxy inverse, soit sur le même serveur que votre serveur d'applications, soit sur un autre serveur. Nginx peut facilement accepter des demandes sur le port 80 et les transmettre à un serveur d'applications fonctionnant sur le port 80. Il est très léger et ne nécessite que très peu de CPU ou de RAM.

Nginx peut également mettre les pages en cache, en fonction des règles que vous définissez, afin d'accélérer le service des ressources statiques ou des pages anonymes. Servir une page à partir d'un cache demande beaucoup moins de travail que de générer à nouveau la page. Proxy inverse de Nginx guide ici . J'ai aussi un Guide Nginx/Wordpress qui vous donnera d'autres exemples sur la façon de mettre en cache des pages pour les utilisateurs anonymes, mais pas pour les utilisateurs connectés.

Mise à jour sur la base des commentaires

Apparemment, sous Linux, vous pouvez utiliser iptables pour rediriger les ports. Ainsi, par exemple, un serveur fonctionnant sur le port 8080 peut répondre sur le port 80. Cela doit être mis en place par un utilisateur ayant les privilèges root, car les utilisateurs non privilégiés ne peuvent pas écouter les ports inférieurs à 1024.

0 votes

Sur Linix, vous pouvez également mettre en place une règle de redirection Iptables, de sorte que le port 80 réponde également aux demandes vers 8080, ce qui est typiquement utilisé lorsque votre serveur web java n'a pas le privilège de l'administrateur.

0voto

Cory Knutson Points 1835

Ce que vous recherchez s'appelle un "Reverse Proxy". Il s'agit d'un serveur Web qui sert de point d'accès au contenu d'un autre serveur. Les versions plus récentes de Windows Server l'appellent "Application Proxy". Ils peuvent être configurés pour demander le contenu d'un autre serveur, ou même HTTPS dans le proxy à partir d'un serveur HTTP interne. Idéalement, tout devrait être en HTTPS. J'espère que cela répond à votre question et vous donne des éléments à rechercher.

-1voto

Joe M. Points 11

Si votre idée est de cacher votre adresse IP réelle, une option serait d'obtenir un hébergement comme AWS avec une IP publique "et de faire pointer CloudFlare vers cette IP à la place" et d'exécuter quelque chose comme Nginx ou HAProxy sur ce serveur. Vous pouvez les configurer pour qu'ils se connectent à votre serveur réel en tant que back-end, puis configurer votre routeur/modem/serveur/etc. pare-feu pour qu'il n'accepte que les connexions provenant de l'adresse IP de votre AWS et de toute autre IP comme votre propre IP en cas d'hébergement à distance. Vous pouvez également configurer votre AWS pour qu'il n'accepte que les connexions provenant de IP de CloudFlare . Ce serait quelque chose comme : Utilisateur -> VotreDomaine (CloudFlare -> AWS -> Votre hébergement réel/secondaire), puis retour vers l'utilisateur, ce qui peut retarder un peu le temps de réponse. OU vous pouvez simplement ignorer AWS et n'accepter que les connexions provenant des IP de CloudFlare avec le pare-feu, à moins que vous n'utilisiez d'autres services (FTP, courrier électronique, etc.), cela ne masquera pas votre véritable IP.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X