🔐 Zabezpieczanie Jenkinsa za pomocą HTTPS

Jeśli korzystasz z Jenkinsa w lokalnej sieci, warto zadbać o to, by połączenie do jego panelu administracyjnego było szyfrowane. W tym celu najprościej jest skorzystać z Nginxa jako reverse proxy i wystawić Jenkinsowi HTTPS — nawet jeśli nie masz publicznej domeny.
1. Instalacja Nginxa
sudo apt update
sudo apt install nginx -y
2. Tworzenie samopodpisanego certyfikatu
Dla lokalnych zastosowań wystarczy prosty, samopodpisany certyfikat:
sudo openssl req -new -x509 -days 365 -nodes \
-out /etc/ssl/certs/jenkins.crt \
-keyout /etc/ssl/private/jenkins.key \
-subj "/CN=jenkins.local"
3. Konfiguracja reverse proxy w Nginxie
Tworzymy nowy plik konfiguracyjny:
sudo nano /etc/nginx/sites-available/jenkins
i wklejamy konfigurację:
server {
listen 443 ssl;
server_name jenkins.local;
ssl_certificate /etc/ssl/certs/jenkins.crt;
ssl_certificate_key /etc/ssl/private/jenkins.key;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
}
}
server {
listen 80;
server_name jenkins.local;
return 301 https://$host$request_uri;
}
Następnie aktywujemy konfigurację:
sudo ln -s /etc/nginx/sites-available/jenkins /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl restart nginx
4. Konfiguracja pliku hosts na komputerze klienckim
Na komputerze, z którego chcesz łączyć się z Jenkisem:
sudo nano /etc/hosts
Dodaj wpis:
IP_SERWERA jenkins.local
Następnie otwórz w przeglądarce: https://jenkins.local
Inne z tej kategorii: Linux
Takie tam: www.marczuk.org
