Maison > Opération et maintenance > Nginx > le corps du texte

Comment configurer le proxy inverse Nginx à l'aide de SSL

PHPz
Libérer: 2023-05-13 15:19:15
avant
1489 Les gens l'ont consulté

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
Copier après la connexion

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
Copier après la connexion

Maintenant, démarrez le service et activez-le pour le démarrage,

# systemctl start nginx 
 
# systemctl enable nginx
Copier après la connexion

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; 
 
} 
 
}
Copier après la connexion

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; 
}
Copier après la connexion

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;
Copier après la connexion

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; 
 
}
Copier après la connexion

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
Copier après la connexion

Une fois tous nos fichiers de configuration ok, nous redémarrerons le service nginx

# systemctl restart nginx
Copier après la connexion

Ç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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal