Configurazione del server proxy - AWS Elastic Beanstalk

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione del server proxy

La piattaforma Tomcat utilizza nginx (impostazione predefinita) o HTTP Apache Server come proxy inverso per inoltrare le richieste dalla porta 80 sull'istanza al contenitore Web Tomcat in ascolto sulla porta 8080. Elastic Beanstalk fornisce una configurazione proxy predefinita che puoi estendere o sostituire completamente a favore di quella personalizzata.

Configurazione del server proxy sulla versione della piattaforma

Tutte le piattaforme AL2 AL2 023/ supportano una funzionalità di configurazione proxy uniforme. Per ulteriori informazioni sulla configurazione del server proxy sulle versioni della piattaforma che eseguono AL2 AL2 023/, consulta. Configurazione del proxy inverso

Se il tuo ambiente Elastic Beanstalk Tomcat utilizza una versione della piattaforma Amazon AMI Linux (precedente ad Amazon Linux 2), leggi le informazioni aggiuntive in questa sezione.

Note
  • Le informazioni contenute in questo argomento si applicano solo ai rami della piattaforma basati su Amazon Linux AMI (AL1). AL2I rami della AL2 piattaforma 023/ non sono compatibili con le versioni precedenti della piattaforma Amazon Linux AMI (AL1) e richiedono impostazioni di configurazione diverse.

  • Il 18 luglio 2022, Elastic Beanstalk ha impostato lo stato di tutte le filiali della piattaforma basate su Amazon Linux () come ritirato. AMI AL1 Per ulteriori informazioni sulla migrazione a una ramificazione della piattaforma Amazon Linux 2023 attuale e completamente supportata, consulta Migrazione dell'applicazione Elastic Beanstalk Linux ad Amazon Linux 2023 o Amazon Linux 2.

Le versioni della piattaforma Tomcat basate su Amazon Linux AMI (precedenti ad Amazon Linux 2) utilizzano Apache 2.4 per il proxy per impostazione predefinita. Puoi scegliere di usare Apache 2.2 o nginx includendo un file di configurazione nel codice sorgente. L'esempio seguente configura Elastic Beanstalk per l'uso di nginx.

Esempio .ebextensions/nginx-proxy.config
option_settings: aws:elasticbeanstalk:environment:proxy: ProxyServer: nginx

Se l'applicazione è stata sviluppata per Apache 2.2, leggi questa sezione per informazioni sulla migrazione ad Apache 2.4.

A partire dalle configurazioni della piattaforma Tomcat versione 3.0.0, rese disponibili con l'aggiornamento della piattaforma Java con Tomcat del 24 maggio 2018, Apache 2.4 è il proxy predefinito della piattaforma Tomcat. I file .conf di Apache 2.4 sono in gran parte, ma non interamente, compatibili con quelli della versione Apache 2.2 precedente. Elastic Beanstalk include file .conf predefiniti che funzionano correttamente con ogni versione di Apache. Se la tua applicazione non personalizza la configurazione di Apache, come descritto in Estendere e sovrascrivere la configurazione predefinita di Apache — Amazon Linux () AMI AL1, dovrebbe supportare la migrazione ad Apache 2.4 senza problemi.

Se l'applicazione estende o sostituisce la configurazione di Apache, potrebbe essere necessario effettuare alcune modifiche per migrare ad Apache 2.4. Per ulteriori informazioni, consulta la pagina relativa all'aggiornamento alla versione 2.4 dalla 2.2 sul sito Apache Software Foundation. Finché non esegui la migrazione ad Apache 2.4, come misura temporanea puoi scegliere di usare Apache 2.2 con l'applicazione includendo il file di configurazione seguente nel codice sorgente.

Esempio apache-legacy-proxy.ebextensions/ .config
option_settings: aws:elasticbeanstalk:environment:proxy: ProxyServer: apache/2.2

Per una soluzione rapida, puoi anche selezionare il server proxy nella console Elastic Beanstalk.

Per selezionare il proxy nell'ambiente Tomcat nella console Elastic Beanstalk
  1. Apri la console Elastic Beanstalk e, nell'elenco Regioni, seleziona la tua. Regione AWS

  2. Nel pannello di navigazione selezionare Environments (Ambienti), quindi selezionare il nome dell'ambiente dall'elenco.

    Nota

    Se si dispone di molti ambienti, utilizzare la barra di ricerca per filtrare l'elenco degli ambienti.

  3. Nel riquadro di navigazione, seleziona Configuration (Configurazione).

  4. Nella categoria di configurazione Updates, monitoring, and logging (Aggiornamenti, monitoraggio e registrazione), scegli Edit (Modifica).

  5. In Proxy server (Server proxy) scegli Apache 2.2 (deprecated).

  6. Per salvare le modifiche scegli Apply (Applica) nella parte inferiore della pagina.

Selezione del proxy per un ambiente Tomcat nella categoria di configurazione software della console Elastic Beanstalk

Puoi estendere la configurazione Apache predefinita di Elastic Beanstalk con file di configurazione personalizzati aggiuntivi. In alternativa, puoi sostituire completamente la configurazione Apache predefinita di Elastic Beanstalk.

Nota

Per estendere la configurazione Apache predefinita di Elastic Beanstalk, aggiungi i file di configurazione .conf a una cartella denominata .ebextensions/httpd/conf.d nel bundle di origine dell'applicazione. La configurazione Apache di Elastic Beanstalk include automaticamente i file .conf in questa cartella.

~/workspace/my-app/ |-- .ebextensions | -- httpd | -- conf.d | -- myconf.conf | -- ssl.conf -- index.jsp

Ad esempio, la configurazione Apache 2.4 seguente aggiunge un listener sulla porta 5000.

Esempio . ebextensions/httpd/conf.d/port5000. conf
listen 5000 <VirtualHost *:5000> <Proxy *> Require all granted </Proxy> ProxyPass / http://localhost:8080/ retry=0 ProxyPassReverse / http://localhost:8080/ ProxyPreserveHost on ErrorLog /var/log/httpd/elasticbeanstalk-error_log </VirtualHost>

Per sostituire completamente la configurazione Apache predefinita di Elastic Beanstalk, includi una configurazione nel bundle di origine in .ebextensions/httpd/conf/httpd.conf.

~/workspace/my-app/ |-- .ebextensions | `-- httpd | `-- conf | `-- httpd.conf `-- index.jsp

Se vuoi sostituire completamente la configurazione Apache di Elastic Beanstalk, aggiungi le righe seguenti a httpd.conf per ottenere le configurazioni di Elastic Beanstalk per Elastic Beanstalk ha migliorato la reportistica e il monitoraggio dello stato, la compressione delle risposte e i file statici.

IncludeOptional conf.d/*.conf IncludeOptional conf.d/elasticbeanstalk/*.conf

Se l'ambiente usa Apache 2.2 come proxy, sostituisci le direttive IncludeOptional con Include. Per dettagli sul comportamento di queste due direttive nelle due versioni di Apache, consultate Include in Apache 2.4, in Apache 2.4 e Include IncludeOptional in Apache 2.2.

Nota

Per sostituire il listener predefinito sulla porta 80, includi un file denominato 00_application.conf in .ebextensions/httpd/conf.d/elasticbeanstalk/ per sovrascrivere la configurazione di Elastic Beanstalk.

Per un esempio di utilizzo, osserva il file di configurazione predefinito di Elastic Beanstalk in /etc/httpd/conf/httpd.conf in un'istanza nell'ambiente. Tutti i file della cartella .ebextensions/httpd nel bundle di origine vengono copiati in /etc/httpd durante le distribuzioni.

Per estendere la configurazione nginx predefinita di Elastic Beanstalk, aggiungi file di configurazione .conf in una cartella denominata .ebextensions/nginx/conf.d/ nel bundle di origine dell'applicazione. La configurazione nginx di Elastic Beanstalk include automaticamente i file .conf in questa cartella.

~/workspace/my-app/ |-- .ebextensions | `-- nginx | `-- conf.d | |-- elasticbeanstalk | | `-- my-server-conf.conf | `-- my-http-conf.conf `-- index.jsp

I file con estensione .conf nella cartella conf.d vengono inclusi nel blocco http della configurazione predefinita. I file nella cartella conf.d/elasticbeanstalk vengono inclusi nel blocco server all'interno del blocco http.

Per sostituire completamente la configurazione nginx predefinita di Elastic Beanstalk, includi una configurazione nel bundle di origine in .ebextensions/nginx/nginx.conf.

~/workspace/my-app/ |-- .ebextensions | `-- nginx | `-- nginx.conf `-- index.jsp
Note
  • Se sostituisci la configurazione nginx di Elastic Beanstalk, aggiungi la riga seguente al blocco server della configurazione per ottenere le configurazioni di Elastic Beanstalk per il listener della porta 80, la compressione delle risposte e i file statici.

    include conf.d/elasticbeanstalk/*.conf;
  • Per sostituire il listener predefinito sulla porta 80, includi un file denominato 00_application.conf in .ebextensions/nginx/conf.d/elasticbeanstalk/ per sovrascrivere la configurazione di Elastic Beanstalk.

  • Includi anche la riga seguente nel blocco http della configurazione per ottenere le configurazioni di Elastic Beanstalk per Elastic Beanstalk ha migliorato la reportistica e il monitoraggio dello stato e la registrazione.

    include conf.d/*.conf;

Per un esempio di utilizzo, osserva il file di configurazione predefinito di Elastic Beanstalk in /etc/nginx/nginx.conf in un'istanza nell'ambiente. Tutti i file della cartella .ebextensions/nginx nel bundle di origine vengono copiati in /etc/nginx durante le distribuzioni.