Nginx¶
Qu’est-ce que Nginx ?¶
Nginx est un serveur web. Simillaire à Apache, il se veut plus rapide et supporte le http/3.
Installation¶
Pour disposer des dernières mises à jour, on va installer les packages directement depuis les repositories de nginx.
sudo apt install apt-transport-https curl
echo "deb https://nginx.org/packages/$(cat /etc/os-release | egrep "^NAME" | cut -d '"' -f 2 | cut -d ' ' -f 1 | tr '[:upper:]' '[:lower:]')/ $(cat /etc/os-release | grep VERSION_CODENAME | cut -d "=" -f 2) nginx" | sudo tee /etc/apt/sources.list.d/nginx_org_debian.list
sudo apt update
sudo apt install nginx-full openssl
Configuration¶
Sécurisation¶
Utilisation¶
Rajout d’un site web sous nginx¶
Nginx peut gérer plusieurs sites en même temps via des virtualhost. Pour cela, il convient de les mettre dans le dossier sites-available puis de les lier dans le dossier sites-enabled. Seul ce dernier appliquera la configuration au serveur nginx. Pour les certificats, on pourra se tourner vers du Let'sEncrypt ou encore faire les notres. Example :
cat >/etc/nginx/sites-available/jenkins.nginx <<EOF
#jenkins nginx conf
server {
listen 80;
server_name jenkins.luclis.fr srvprj02ovh.luclis.fr;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name jenkins.luclis.fr srvprj02ovh.luclis.fr;
ssl_certificate /etc/ssl/public/jenkins.luclis.fr_chain.pem;
ssl_certificate_key /etc/ssl/private/jenkins.luclis.fr.key;
ssl_password_file /etc/ssl/private/jenkins.luclis.fr.pass;
client_max_body_size 50m;
#Fichier de logs
access_log /var/log/nginx/jenkins_access.log;
error_log /var/log/nginx/jenkins_error.log;
location / {
proxy_pass http://localhost:8080;
proxy_set_header X-Real-IP $remote_addr;
add_header Strict-Transport-Security "max-age=15552000; includeSubDomains; preload;";
}
}
EOF
ln -fs /etc/nginx/sites-available/jenkins.nginx /etc/nginx/sites-enabled/jenkins.conf
systemctl restart nginx.service