2013-04-27 15 views
5

questa è la mia prima domanda. Se faccio un errore, basta indicarlo & lo migliorerò la prossima volta. Sono un Java Dev & nuovo su Linux. Distribuisco la mia app Spring MVC su un VPS con Tomcat 7 e uso nginx come server proxy. Dopo aver navigato su Internet per giorni, vedo che potrebbe essere una buona combinazione invece di usare tomcat con apache. Ho intenzione di saperne di più su ciò che nginx può fare. Al momento, nginx gestisce SSL dal client, Tomcat individua nella stessa macchina & riproduce come server di back-end con connettore HTTP (senza SSL tra Tomcat & Nginx). Uso anche il modulo limit_req come protezione Flood HTTP di base. Sono inoltre a conoscenza di APR - Libreria nativa Tomcat quando si utilizza Tomcat come server Web. Ogni volta che avvio il mio gatto, ha detto che il mio APR non è stato trovato.Apache Tomcat 7 + Nginx - IsTomcat Native necessario?

  1. Devo installare APR lib per Tomcat in questo scenario (nginx + tomcat http connector) per velocizzare il mio server?
  2. Sono utile utilizzando la cache proxy img, css ...
  3. Chi gestisce i file statici con questa configurazione? Se Tomcat fa, abbiamo bisogno di APR installato, giusto?
  4. esiste un modo per proteggere un determinato modello di richiesta solo (come la pagina di accesso) quando si utilizza il proxy?

mia nginx conf:

server { 
    listen 443 ssl;  
     server_name domain; 
    ssl on; 
    ssl_certificate /etc/nginx/ssl/domain.crt; 
    ssl_certificate_key /etc/nginx/ssl/domain.key; 

    location/{ 
       proxy_pass http://localhost:8080; 
     proxy_set_header Host $http_host; 
     proxy_set_header X-Forwarded-Proto https; 
     proxy_set_header X-Forwarfed-For $proxy_add_x_forwarded_for;  
    } 
} 

server { 
     listen  80; 
     server_name domain; 
     return 301 https://$server_name$request_uri; 
} 
+0

Da https://github.com/spring-projects/spring-boot/issues/7376 sembra che l'APR sia maggiormente utile per SSL e potrebbe non valere la maggiore complessità di installazione in altri casi. – Vadzim

risposta

1

Cercherò di rispondere alle vostre domande:

  1. libtcnative dà Tomcat la possibilità di utilizzare le interfacce del sistema operativo nativo che possono velocizzare il sistema di esercizio relativo attività, quindi non è necessario ma lo consiglierei! Ecco un buon esempio di configurazione per Tomcat dietro nginx: http://wiki.razuna.com/display/ecp/Razuna+with+Nginx+as+a+front+end+server
  2. Per quanto ho capito si deve dare nginx una directory principale in modo che possa fornire e file statici di cache e passare le chiamate Ajax al Tomcat
  3. dovrebbe essere risolta con 1. e 2.
  4. non capisco davvero la questione ..
0

no, non è necessario Tomcat nativo. Basta configurare il nginx per proxy la richiesta al server tomcat. Con nginx, puoi configurare cluster di server tomcat per raggiungere il bilanciamento del carico e il failover.