Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Semua versi platform Amazon Linux 2 dan Amazon Linux 2023 menggunakan nginx sebagai server proxy terbalik default mereka. Platform Tomcat, Node.js, PHP, dan Python juga mendukung Apache HTTPD sebagai alternatif. Untuk memilih Apache pada platform ini, mengatur pilihan ProxyServer
di namespace aws:elasticbeanstalk:environment:proxy
ke apache
. Semua platform mengaktifkan konfigurasi server proksi dengan cara yang seragam, seperti yang dijelaskan di bagian ini.
catatan
Pada Amazon Linux AMI versi platform (sebelumnya Amazon Linux 2) Anda mungkin harus mengonfigurasi server proksi secara berbeda. Anda dapat menemukan rincian warisan ini di bawah topik platform masing-masing dalam panduan ini.
Elastic Beanstalk mengonfigurasi server proksi pada instans lingkungan Anda untuk meneruskan lalu lintas web ke aplikasi web utama pada URL akar lingkungan; misalnya, http://my-env.elasticbeanstalk.com
.
Secara default, Elastic Beanstalk mengonfigurasi proksi untuk meneruskan permintaan masuk pada port 80 untuk aplikasi web utama Anda pada port 5000. Anda dapat mengonfigurasi nomor port ini dengan menetapkan properti lingkungan PORT
menggunakan namespace aws:elasticbeanstalk:application:environment dalam file konfigurasi, seperti yang ditunjukkan dalam contoh berikut.
option_settings:
- namespace: aws:elasticbeanstalk:application:environment
option_name: PORT
value: <main_port_number>
Untuk informasi selengkapnya tentang pengaturan variabel lingkungan untuk aplikasi Anda, lihat Pengaturan opsi.
Aplikasi Anda harus mendengarkan pada port yang dikonfigurasi untuk itu di proksi. Jika Anda mengubah port default menggunakan properti lingkungan PORT
, kode Anda dapat mengaksesnya dengan membaca nilai variabel lingkungan PORT
. Sebagai contoh, panggilan os.Getenv("PORT")
di Go, atau System.getenv("PORT")
di Java. Jika Anda mengonfigurasi proksi Anda untuk mengirim lalu lintas ke beberapa proses aplikasi, Anda dapat mengonfigurasi beberapa properti lingkungan, dan menggunakan nilai-nilai mereka di kedua konfigurasi proksi dan kode aplikasi Anda. Pilihan lain adalah untuk lulus nilai port untuk proses sebagai argumen perintah dalam Procfile
. Untuk informasi selengkapnya, lihat Buildfile dan Procfile.
Mengonfigurasi nginx
Elastic Beanstalk menggunakan nginx sebagai proksi terbalik default untuk memetakan aplikasi Anda ke penyeimbangan beban Elastic Load Balancing Anda. Elastic Beanstalk menyediakan konfigurasi nginx default yang dapat Anda perpanjang atau timpa sepenuhnya dengan konfigurasi Anda sendiri.
catatan
Saat Anda menambahkan atau mengedit file konfigurasi .conf
nginx, pastikan untuk menyandikannya sebagai UTF-8.
Untuk memperpanjang konfigurasi nginx default Elastic Beanstalk, tambahkan file konfigurasi .conf
ke folder yang bernama .platform/nginx/conf.d/
dalam paket sumber aplikasi Anda. Konfigurasi nginx Elastic Beanstalk mencakup file .conf
dalam folder ini secara automatik.
~/workspace/my-app/
|-- .platform
| `-- nginx
| `-- conf.d
| `-- myconf.conf
`-- other source files
Untuk mengesampingkan konfigurasi nginx default Elastic Beanstalk sepenuhnya, sertakan konfigurasi di paket sumber Anda di .platform/nginx/nginx.conf
:
~/workspace/my-app/
|-- .platform
| `-- nginx
| `-- nginx.conf
`-- other source files
Jika Anda menimpa konfigurasi nginx Elastic Beanstalk, tambahkan baris berikut ke nginx.conf
untuk menarik dalam konfigurasi Elastic Beanstalk untuk Elastic Beanstalk meningkatkan pelaporan dan pemantauan kesehatan, pemetaan aplikasi otomatis, dan file statis.
include conf.d/elasticbeanstalk/*.conf;
Mengonfigurasi Apache HTTPD
Platform Tomcat, Node.js, PHP, dan Python memungkinkan Anda memilih server proksi Apache HTTPD sebagai alternatif untuk nginx. Ini bukan default. Contoh berikut mengonfigurasi Elastic Beanstalk untuk menggunakan Apache HTTPD.
contoh .ebextensions/httpd-proxy.config
option_settings:
aws:elasticbeanstalk:environment:proxy:
ProxyServer: apache
Anda dapat memperpanjang Elastic Beanstalk konfigurasi Apache default dengan file konfigurasi tambahan Anda. Atau, Anda dapat sepenuhnya mengganti konfigurasi Apache default Elastic Beanstalk.
Untuk memperpanjang konfigurasi Apache default Elastic Beanstalk, tambahkan file konfigurasi .conf
ke folder bernama .platform/httpd/conf.d
di paket sumber aplikasi Anda. Konfigurasi Apache Elastic Beanstalk mencakup file .conf
di folder ini secara otomatis.
~/workspace/my-app/
|-- .ebextensions
| -- httpd-proxy.config
|-- .platform
| -- httpd
| -- conf.d
| -- port5000.conf
| -- ssl.conf
-- index.jsp
Sebagai contoh, konfigurasi Apache 2.4 berikut menambahkan listener di port 5000.
contoh . 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>
Untuk mengesampingkan konfigurasi Apache default Elastic Beanstalk sepenuhnya, sertakan konfigurasi dalam paket sumber Anda di .platform/httpd/conf/httpd.conf
.
~/workspace/my-app/
|-- .ebextensions
| -- httpd-proxy.config
|-- .platform
| `-- httpd
| `-- conf
| `-- httpd.conf
`-- index.jsp
catatan
Jika Anda mengganti konfigurasi Apache Elastic Beanstalk, tambahkan baris berikut ke httpd.conf
Anda untuk menarik dalam konfigurasi Elastic Beanstalk untuk Elastic Beanstalk meningkatkan pelaporan dan pemantauan kesehatan, pemetaan aplikasi otomatis, dan file statis.
IncludeOptional conf.d/elasticbeanstalk/*.conf