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 proxy inverso
Tutte le versioni della piattaforma Amazon Linux 2 e Amazon Linux 2023 usano nginx come server proxy inverso predefinito. Le piattaforme TomcatPHP, Node.js e Python supportano anche HTTPD Apache come alternativa. Per selezionare Apache su queste piattaforme, impostare l'opzione ProxyServer
nello spazio dei nomi aws:elasticbeanstalk:environment:proxy
su apache
. Tutte le piattaforme abilitano la configurazione del server proxy in modo uniforme, come descritto in questa sezione.
Nota
Nelle versioni AMI della piattaforma Amazon Linux (precedenti ad Amazon Linux 2) potrebbe essere necessario configurare i server proxy in modo diverso. Puoi trovare questi dettagli legacy sotto i rispettivi argomenti della piattaforma in questa guida.
Elastic Beanstalk configura il server proxy sulle istanze dell'ambiente per inoltrare il traffico Web all'applicazione Web principale nella radice URL dell'ambiente, ad esempio. http://my-env.elasticbeanstalk.com
Per impostazione predefinita, Elastic Beanstalk configura il proxy per inoltrare le richieste in arrivo sulla porta 80 all'applicazione Web principale sulla porta 5000. È possibile configurare questo numero di porta impostando la proprietà ambiente PORT
utilizzando lo psazio dei nomi aws:elasticbeanstalk:application:environment in un file di configurazione, come illustrato nell'esempio seguente.
option_settings:
- namespace: aws:elasticbeanstalk:application:environment
option_name: PORT
value: <main_port_number>
Per ulteriori informazioni sull'impostazione delle variabili di ambiente per la tua applicazione, vedi Impostazioni opzioni.
L'applicazione deve essere in ascolto sulla porta configurata per essa nel proxy. Se si modifica la porta predefinita utilizzando la proprietà dell'ambiente PORT
, il codice può accedervi leggendo il valore della variabile di ambiente PORT
. Ad esempio, si chiama os.Getenv("PORT")
in Go o System.getenv("PORT")
in Java. Se si configura il proxy per inviare traffico a più processi dell'applicazione, è possibile configurare diverse proprietà dell'ambiente e utilizzare i relativi valori sia nella configurazione del proxy che nel codice dell'applicazione. Un'altra opzione è quella di passare il valore della porta al processo come argomento di comando nel Procfile
. Per ulteriori informazioni, consulta Buildfile e Procfile.
Configurazione di nginx
Elastic Beanstalk usa nginx come proxy inverso predefinito per mappare l'applicazione al sistema di bilanciamento del carico Elastic Load Balancing. Elastic Beanstalk fornisce una configurazione nginx predefinita che puoi estendere o sostituire completamente a favore di quella personalizzata.
Nota
Quando aggiungi o modifichi un file di configurazione .conf
nginx, assicurati di codificarlo come -8. UTF
Per estendere la configurazione nginx predefinita di Elastic Beanstalk, aggiungi i file di configurazione .conf
a una cartella denominata .platform/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/
|-- .platform
| `-- nginx
| `-- conf.d
| `-- myconf.conf
`-- other source files
Per sostituire completamente la configurazione nginx predefinita di Elastic Beanstalk, includi una configurazione nel bundle di origine in .platform/nginx/nginx.conf
:
~/workspace/my-app/
|-- .platform
| `-- nginx
| `-- nginx.conf
`-- other source files
Se sostituisci la configurazione nginx predefinita di Elastic Beanstalk, aggiungi al file nginx.conf
la riga seguente per inserire le configurazioni di Elastic Beanstalk per Elastic Beanstalk ha migliorato la reportistica e il monitoraggio dello stato, le mappature automatiche delle applicazioni e i file statici.
include conf.d/elasticbeanstalk/*.conf;
Configurazione di Apache HTTPD
Le piattaforme TomcatPHP, Node.js e Python consentono di scegliere il server proxy HTTPD Apache come alternativa a nginx. Questo non è l'impostazione predefinita. L'esempio seguente configura Elastic Beanstalk per l'utilizzo di Apache. HTTPD
Esempio .ebextensions/httpd-proxy.config
option_settings:
aws:elasticbeanstalk:environment:proxy:
ProxyServer: apache
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.
Per estendere la configurazione Apache predefinita di Elastic Beanstalk, aggiungi i file di configurazione .conf
a una cartella denominata .platform/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-proxy.config
|-- .platform
| -- httpd
| -- conf.d
| -- port5000.conf
| -- ssl.conf
-- index.jsp
Ad esempio, la configurazione Apache 2.4 seguente aggiunge un listener sulla porta 5000.
Esempio .platform/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 .platform/httpd/conf/httpd.conf
.
~/workspace/my-app/
|-- .ebextensions
| -- httpd-proxy.config
|-- .platform
| `-- httpd
| `-- conf
| `-- httpd.conf
`-- index.jsp
Nota
Se sostituisci la configurazione Apache predefinita di Elastic Beanstalk, aggiungi al file httpd.conf
la riga seguente per inserire le configurazioni di Elastic Beanstalk per Elastic Beanstalk ha migliorato la reportistica e il monitoraggio dello stato, le mappature automatiche delle applicazioni e i file statici.
IncludeOptional conf.d/elasticbeanstalk/*.conf