news
Nouvelle version de FreeBSD 14.0 x64
WT
27 février 2023
Mise à jour en juillet 6, 2023

Implémentation d'un Reverse Proxy avec Nginx on Ubuntu 22.04 serveur

NGINX Ubuntu

L'une des fonctions fondamentales d'un proxy inverse est de servir de tampon de protection, protégeant les serveurs principaux en interceptant et en traitant les requêtes provenant de clients. Ce faisant, il cache efficacement des informations précieuses sur les serveurs, telles que leurs adresses IP et d'autres détails sensibles. Cela ajoute une couche de sécurité supplémentaire à votre infrastructure, ce qui rend plus difficile pour les attaquants potentiels de cibler directement vos serveurs.

Pose et Configurer Nginx

Nous allons obtenez peut up à données et installer votre web serveur.

apt update
apt install nginx

Modifier Nginxde pour déterminer comment il gère les requêtes entrantes et fournit les réponses appropriées :

nano /etc/nginx/sites-available/default

Disabling IPv6

Dans ce fichier, vous pouvez configurer Nginx pour répondre à vos besoins spécifiques. Il vous permet de définir des blocs de serveur, des certificats SSL et d'autres directives pour optimiser les performances et la sécurité de votre configuration de proxy inverse. Mais la raison pour laquelle nous sommes venus ici est de commenter la ligne relative à IPv6, d'enregistrer les modifications et de quitter le fichier.

Lance ça:

dpkg --configure -a

La commande garantit que tous les packages du système sont correctement configurés en suivant le processus d'installation et de configuration pour tous les packages en attente. Il vérifie l'état de tous les packages installés et les configure en fonction de leurs scripts d'installation respectifs.

Vérifiez que Nginx est en bon état de fonctionnement.

service nginx status

Checking the operation of nginx

Vous devez maintenant configurer un firewall pour vous assurer que seul le trafic nécessaire peut atteindre votre proxy inverse. Nous utiliserons Simple Firewall (UFW) à cet effet.

Installez ufw :

apt install ufw

Tourner it on:

ufw enable

Autoriser HTTP circulation à go à travers by:

ufw allow 'Nginx HTTP'

En cliquant le statuts et actuel   of le firewall:

ufw status

Setting up the firewall

Créons le fichier de configuration nommé d'après notre domaine.

Dans ce fichier, définissez les paramètres spécifiques de votre proxy : nom du serveur, ports d'écoute et emplacement où les requêtes entrantes seront transférées :

server {
listen 80;
#listen [::]:80;
server_name test_domain.ru www.test_domain.ru;
location / {
proxy_pass ip_addres_app;
include proxy_params;
}
}

Configuration file

remplacer ip_propos_appli avec le présenter IP propos or domaine prénom of votre backend serveur.

Le proxy est configuré à l'aide de /etc/nginx/proxy_paramfichier s. Les paramètres par défaut conviennent à cet exemple, mais vous pouvez les modifier si nécessaire.

Activez le reverse proxy en faisant un lien symbolique :

ln -s /etc/nginx/sites-available/test_domain.ru /etc/nginx/sites-enabled/

Un lien symbolique, également appelé lien symbolique ou lien symbolique, est un type spécial de fichier qui agit comme un pointeur ou une référence vers un autre fichier ou répertoire du système de fichiers. Il vous permet de créer un raccourci vers un fichier ou un répertoire, offrant un moyen pratique d'y accéder ou de le référencer à partir d'un emplacement différent.

Effectuez un test pour vous assurer que rien n'est cassé :

nginx -t

Checking that the settings are correct

If aucune erreurs   montré:

service nginx restart

À l'heure actuelle, Nginx est configuré avec un proxy inverse. L'étape suivante consiste à installer et à configurer le serveur de test d'application.

Essais

Maintenant, pour tester le proxy inverse que vous venez de créer, démarrons un Gunicorn (abréviation de "Green Unicorn"). Il s'agit d'un serveur conçu pour fonctionner avec des requêtes Web pour Python applications Web tout en Nginx n'est pas si doué pour le faire. Ainsi, pour tester la fonctionnalité de votre proxy, nous exécuterons une simple Python application pour valider si toute cette pile fonctionne.

Installez-le:

apt install gunicorn

Création le filet:

nano wsgi.py

mettre this texte développement it:

def wsgi(environ, start_response):
start_response("200 OK", [])
return iter([b"Welcome, to new wsgi server"])

Function for checking

Cette wsgi.py filet contient a simple application qui répond avec a "200 OKstatuts message.

Le commander départs Gunicorn avec deux travailleur les process:

gunicorn --workers=2 wsgi:wsgi

Au démarrage de Gunicorn, un processus maître est lancé pour superviser le fonctionnement global du serveur. Le processus maître assume la responsabilité de gérer les processus de travail, d'adapter les changements de configuration et de surveiller la santé des travailleurs. La tâche réelle de traitement des demandes est affectée aux processus de travail.

Chaque processus de travail fonctionne indépendamment, avec la capacité de gérer une ou plusieurs requêtes simultanément. Le nombre de processus de travail peut être adapté pour répondre à des exigences spécifiques, en tenant compte de facteurs tels que les ressources système disponibles, la charge de trafic prévue et les caractéristiques de votre application.

En employant plusieurs processus de travail, Gunicorn optimise le traitement des demandes, permettant un traitement parallèle et des temps de réponse améliorés. Cette approche garantit une utilisation efficace des ressources système et permet au serveur de gérer un volume plus élevé de demandes simultanées sans être submergé.

Ouvrez un navigateur depuis l'hôte distant et entrez l'adresse/domaine de notre serveur. Nous devrions avoir un message comme celui-ci :

The proxy is successfully working

Conclusions

Avec ce guide, vous avez appris :

  • l'installation Nginx et Gunicorne ;
  • ajouter un Nginx HTTP règle;
  • mettre en place la partie serveur pour tester l'application ;
  • créer des liens symboliques ;
  • démarrer le serveur pour tester l'application.
Voter:
5 sur 5
Note moyenne : 5
Noté par : 2
1101 CT Amsterdam Pays-Bas, Herikerbergweg 292
+31 20 262-58-98
700 300
ITGLOBAL.COM NL
700 300
Nous utilisons des cookies pour rendre votre expérience sur le Serverspace meilleur. En poursuivant votre navigation sur notre site, vous acceptez nos
Utilisation des cookies et Politique de confidentialité.