Nginx ca un revers de server proxy Jenkins

Având servere în centre de date sigure din Europa. Deschideți nor VPS server / VDS pe un SSD rapid în 1 minut!

Cel mai bun Web Hosting:
- va proteja datele împotriva accesului neautorizat într-un centru european de date securizat
- va plăti cel puțin în Bitcoin.
- Acesta va pune distribuție

- protecție împotriva atacurilor DDoS-
- gratuit de backup
- Uptime 99,9999%
- DPC - TIER III
- ISP - NIVELULUI I

Suport în 24/7/365 rusă lucra cu persoane juridice și persoane fizice. Ai nevoie de acum 24 de bază și 72 GB RAM. Vă rog!

Tarifele noastre competitive dovedesc că cele mai ieftine de găzduire pe care nu a știut!

O chestiune de minute, selectați configurația, să plătească și CMS pe un VPS este gata.
Bani Înapoi - 30 de zile!

Carduri bancare, moneda electronică prin intermediul unor terminale QIWI, Webmoney, PayPal, Novoplat și altele.

Pune o intrebare 24/7/365 Suport

Găsiți răspunsurile în baza noastră de date, și să respecte recomandările din

Oferta de la 8host.com

Nginx ca un revers de server proxy Jenkins

În mod implicit, Jenkins vine cu propriul server de web încorporată, care ascultă pe portul 8080. Acest lucru este convenabil atunci când se utilizează o copie personală a Jenkins sau, dacă este necesar, a lansa rapid un site / aplicație, fără griji cu privire la securitate. În toate celelalte cazuri, se recomandă să utilizați un server Web sigur, de exemplu, Nginx.

Acest ghid descrie în detaliu modul de a implementa un site cu SSL pe serverul de web Nginx rulează ca un proxy inversă pentru Jenkins.

Notă. Acest ghid presupune că sunteți familiarizați cu comenzi Linux, o copie de lucru a Jenkins și personalizate serverul Ubuntu 14.04. Dacă Jenkins nu este deja instalat mai târziu, acest ghid vă va arăta cum să o facă.

1: Configurarea Nginx

Nginx este foarte popular din cauza vitezei și flexibilitatea acestuia.

Notă. toate comenzile din această secțiune pentru a fi efectuate cu privilegii sudo.

instalarea Nginx

Deci, actualizați lista de pachete, și apoi instalați Nginx.

sudo apt-get update
sudo apt-get install Nginx

Poate că nu este atât de important, dar după instalarea serverului web, puteți verifica versiunea Nginx - acest lucru este util la depanarea în viitor. Desigur, versiunile mai noi de Nginx pot oferi mai multe oportunități.

Crearea unui certificat SSL

Acum trebuie să cumpere sau să creați propriul certificat SSL. Mai jos sunt instrucțiuni pentru crearea unui certificat auto-semnat, dar este recomandat să primească certificat semnat oficial pentru a preveni avertismente browser.

Navigați la directorul corespunzător și de a crea un certificat:

cd / etc / Nginx
sudo OpenSSL req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout /etc/nginx/cert.key -out /etc/nginx/cert.crt

În această etapă, necesitatea de a furniza informații despre certificat. Vă rugăm să completați datele respective, dar rețineți că toate aceste informații vor fi vizibile în proprietățile certificat. Această comandă va seta numărul de biți în 2048, deoarece acest lucru este necesar minim pentru a obține semnătura autorității de certificare (CA). În plus,, care a fost semnat de necesitatea de a genera CSR certificat.

Configurare Nginx

Acum, trebuie să modificați setările implicite Nginx; pentru acest deschis:

sudo nano / etc / Nginx / site-uri activate / default

Acest fișier conține o mostră din setările finale server web. Puteți actualiza sau înlocui un fișier de configurare existent sau primul pentru a face o copie rapidă.

Prima secțiune spune serverul Nginx pentru a asculta toate cererile care vin în portul 80 (portul implicit HTTP), și le redirecționa către HTTPS.

Deci, acum setările SSL necesare sunt setate. Acesta este un set destul de bun de setări implicite, dar cu siguranta poate fi prelungit.


asculta 443;
server_name jenkins.domain.com;
/etc/nginx/cert.crt ssl_certificate;
/etc/nginx/cert.key ssl_certificate_key;
ssl pe;
ssl_session_cache builtin: 1000 partajat: SSL: 10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
! Ssl_ciphers HIGH: aNULL: eNULL: EXPORT: CAMELLIA: DES: MD5: PSK: RC4; !!!!!!!
ssl_prefer_server_ciphers pe;
.

Și, în sfârșit - secțiunea de proxy. Se acceptă orice cerere de intrare si acoliții-l la Jenkins, ascultă pe portul 8080 la interfața de rețea (informații utile despre setările proxy Nginx pot fi găsite în acest manual).

Aici trebuie să observăm câteva momente. Dacă serverul Jenkins nu are un nume de domeniu, atunci proxy_redirect operatorul nu va funcționa; în acest caz, valoarea acesteia trebuie să fie ajustată. În plus, atunci când un operator de setare proxy_pass incorecte (de exemplu, atunci când se face slash suplimentar) pagina de configurare Jenkins afișează un mesaj de eroare «Se pare că serverul proxy inversă configurat este rupt».

Când se produce această eroare și reverifica proxy_pass proxy_redirect.

2: Setarea Jenkins

Jenkins a fost capabil de a lucra cu Nginx, trebuie să actualizați fișierul de configurare Jenkins, setarea doar asculta la gazda locală (0.0.0.0), care va asigura manipularea corespunzătoare a traficului. Aceasta este o acțiune foarte importantă, pentru că Jenkins este potențial disponibil prin intermediul portului sursă (8080), în cazul în care este de a asculta toate interfețele. Deci, editați fișierul / etc / default / Jenkins.

sudo nano / etc / default / Jenkins

În fișierul, localizați linia JENKINS_ARGS și editați-l, după cum urmează:

JENKINS_ARGS = "- Webroot = / var / cache / Jenkins / război --httpListenAddress = 127.0.0.1 --httpPort = $ HTTP_PORT -ajp13Port = $ AJP_PORT"

Notă. trebuie să adăugați sau să modificați opțiunea -httpListenAddress = 127.0.0.1.

Jenkins și apoi reporniți Nginx.

sudo service repornire Jenkins
sudo serviciu Nginx repornire

Acum puteți vizita domeniu folosind HTTP sau HTTPS, în timp ce site-ul Jenkins va fi protejat. Atunci când se utilizează un avertisment certificat auto-semnat este afișat.

Opțional: Actualizare OAuth

, Trebuie să actualizați câteva setări, inclusiv setările plugin OAuth pentru a remedia problema. Pentru a începe actualizarea Jenkins URL-ul, care este:

Jenkins -> Manage Jenkins -> Configurare Sistem -> Jenkins Locație

Apoi modificați setările OAuth. utilizat Acest exemplar manual GitHub. Site-ul GitHub, aceste setări pot fi găsite în Setări -> Aplicații -> Aplicații pentru dezvoltatori.

Ar trebui să existe o intrare separată pentru Jenkins. Actualizați câmpurile și URL de apelare inversă Pagina de start autorizare, repetând setările HTTPS.

Utilizați un browser pentru a testa certificat. Făcând clic pe butonul cu blocare, ar trebui să vedeți certificatul în proprietățile browser.