Comment créer un environnement VPS sécurisé à l'aide de NGINX et PM2
Avec la popularité d'Internet, le VPS (Virtual Private Server) est devenu l'environnement de déploiement préféré pour de nombreux sites Web et applications. Cependant, les questions de sécurité deviennent de plus en plus importantes. Dans cet article, nous expliquerons comment utiliser NGINX et PM2 pour créer un environnement VPS sécurisé et fournirons des exemples de code spécifiques.
NGINX est un serveur HTTP et proxy inverse rapide et hautes performances qui peut nous aider à équilibrer la charge et à protéger les serveurs contre les attaques malveillantes. PM2 est un gestionnaire de processus d'application Node.js moderne qui peut garantir que notre application Node.js s'exécute toujours de manière stable sur le serveur.
Voici les étapes spécifiques pour créer un environnement VPS sécurisé :
Configuration HTTPS
Le protocole HTTPS garantit une communication sécurisée entre les sites Web et les applications. Nous pouvons implémenter HTTPS à l'aide de certificats gratuits Let's Encrypt. Tout d’abord, nous devons installer l’outil Certbot et demander et renouveler les certificats via celui-ci.
sudo apt-get install certbot sudo certbot certonly --nginx
Cette commande configurera automatiquement le certificat à l'aide du plugin NGINX.
Configuration d'un proxy inverse
Les proxys inverses peuvent offrir des avantages supplémentaires en matière de sécurité et de performances. Nous pouvons utiliser NGINX comme serveur proxy inverse pour transmettre les requêtes à l'application Node.js exécutée sur PM2. Voici un exemple de fichier de configuration NGINX :
server { listen 80; server_name example.com; location / { proxy_pass http://localhost:3000; # 此处的3000是Node.js应用程序的端口 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
Ce fichier de configuration transfère toutes les requêtes de example.com vers l'application Node.js exécutée sur localhost.
Configurer le pare-feu
Les pare-feu sont un élément essentiel de la protection de votre serveur contre les attaques malveillantes. Nous pouvons utiliser UFW (Uncomplicated Firewall) pour configurer les règles de pare-feu.
sudo ufw allow OpenSSH # 允许SSH访问 sudo ufw allow 'Nginx HTTP' # 允许HTTP访问 sudo ufw enable # 启用防火墙
En utilisant les commandes ci-dessus, nous pouvons autoriser l'accès SSH et HTTP et permettre au pare-feu de filtrer et de bloquer d'autres mauvaises connexions.
Utilisez PM2 pour gérer les applications Node.js
PM2 peut garantir que nos applications Node.js s'exécutent toujours de manière stable sur le serveur et lancent et surveillent automatiquement les applications. Voici les exemples de commandes pour gérer votre application à l'aide de PM2 :
pm2 start app.js --name myapp # 启动应用程序 pm2 list # 查看当前运行的应用程序 pm2 restart myapp # 重启应用程序
PM2 fournit de nombreuses autres commandes et fonctionnalités qui peuvent être modifiées et personnalisées en fonction de vos besoins.
Grâce aux étapes ci-dessus, nous pouvons utiliser NGINX et PM2 pour créer un environnement VPS sécurisé. Bien entendu, il ne s’agit que d’un exemple de configuration de base, vous pouvez le modifier et l’améliorer en fonction de vos besoins spécifiques. Veuillez vous assurer de lire attentivement la documentation pertinente et de suivre les meilleures pratiques de sécurité lors de son utilisation.
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!