Prérequis
1. Serveur backend : Pour les besoins de ce tutoriel, nous utilisons un serveur Tomcat fonctionnant sur localhost sur le port 8080
REMARQUE : - Lorsque vous démarrez les requêtes proxy, assurez-vous que l'application Le serveur a commencé.
Certificat 2.ssl : Nous devons également configurer le certificat SSL sur le serveur. Nous pouvons utiliser le certificat de cryptage de Let's Encrypt, vous pouvez en obtenir un en utilisant le programme mentionné ici. Mais pour ce tutoriel, nous utiliserons un certificat auto-signé qui peut être créé en exécutant la commande suivante depuis le terminal,
$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/certs/cert.key -out /etc/nginx/certs/cert.crt
La prochaine étape dans la configuration du proxy inverse nginx avec SSL sera l'installation de nginx,
installer nginx
ubuntu
nginx est disponible dans le référentiel Ubuntu par défaut. C'est si simple, installez-le en utilisant la commande suivante,
$ sudo apt-get update && sudo apt-get install nginx
Maintenant, démarrez le service et activez-le pour le démarrage,
# systemctl start nginx # systemctl enable nginx
Vérifiez maintenant l'installation de nginx, nous pouvons ouvrir le navigateur Web et saisir l'adresse IP du système comme URL pour obtenir la valeur par défaut. Page Web nginx, ceci confirme que nginx fonctionne correctement.
Configurer le proxy inverse nginx à l'aide de SSL
Nous avons maintenant tout ce dont nous avons besoin pour configurer le proxy inverse nginx à l'aide de SSL. Nous devons maintenant configurer dans nginx, nous utiliserons le fichier de configuration nginx par défaut qui est /etc/nginx/conf.d/default.conf
En supposant que c'est la première fois que nous apportons des modifications à la configuration, ouvrez le fichier. fichier et supprimez ou commentez tous les anciens contenus du fichier et placez les entrées suivantes dans le fichier.
vi /etc/nginx/conf.d/default.conf
server { listen 80; return 301 https://$host$request_uri; } server { listen 443; server_name linuxtechlab.com; ssl_certificate /etc/nginx/ssl/cert.crt; ssl_certificate_key /etc/nginx/ssl/cert.key; ssl on; ssl_session_cache builtin:1000 shared:ssl:10m; ssl_protocols tlsv1 tlsv1.1 tlsv1.2; ssl_ciphers high:!anull:!enull:!export:!camellia:!des:!md5:!psk:!rc4; ssl_prefer_server_ciphers on; access_log /var/log/nginx/access.log; location / { proxy_set_header host $host; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; proxy_set_header x-forwarded-proto $scheme; proxy_pass http://localhost:8080; proxy_read_timeout 90; proxy_redirect http://localhost:8080 https://linuxtechlab.com; } }
Après avoir terminé toutes les modifications, enregistrez le fichier et quittez. Nous discuterons de la configuration que nous avons effectuée section par section avant de redémarrer le service nginx pour implémenter les modifications.
Section 1
server { listen 80; return 301 https://$host$request_uri; }
Ici, nous disons que nous voulons écouter toutes les demandes vers le port 80, puis les rediriger vers https.
Section 2
listen 443; server_name linuxtechlab.com; ssl_certificate /etc/nginx/ssl/cert.crt; ssl_certificate_key /etc/nginx/ssl/cert.key; ssl on; ssl_session_cache builtin:1000 shared:ssl:10m; ssl_protocols tlsv1 tlsv1.1 tlsv1.2; ssl_ciphers high:!anull:!enull:!export:!camellia:!des:!md5:!psk:!rc4; ssl_prefer_server_ciphers on;
Voici maintenant quelques options SSL nginx par défaut que nous utilisons, elles indiquent au serveur Web nginx quelle version du protocole et quel chiffrement SSL est pris en charge.
Section 3
location / { proxy_set_header host $host; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; proxy_set_header x-forwarded-proto $scheme; proxy_pass http://localhost:8080; proxy_read_timeout 90; proxy_redirect http://localhost:8080 https://linuxtechlab.com; }
Maintenant, cette section couvre les proxys et où vont les demandes entrantes une fois qu'elles arrivent. Maintenant que nous avons discuté de toute la configuration, nous allons vérifier puis redémarrer le service nginx.
Pour vérifier nginx, exécutez la commande suivante
# nginx -t
Une fois tous nos fichiers de configuration ok, nous redémarrerons le service nginx
# systemctl restart nginx
Ça y est, notre reverse proxy ssl nginx est maintenant prêt. Maintenant, pour tester la configuration, il ne vous reste plus qu'à ouvrir un navigateur Web et à saisir l'url. Nous devrions maintenant être redirigés vers la page Web Apache Tomcat.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!