Mengonfigurasi server proksi - AWS Elastic Beanstalk

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengonfigurasi server proksi

Platform Tomcat menggunakan nginx (default) atau HTTP Apache Server sebagai proxy terbalik untuk menyampaikan permintaan dari port 80 pada instance ke wadah web Tomcat Anda yang mendengarkan pada port 8080. Elastic Beanstalk menyediakan konfigurasi proksi default yang dapat Anda perluas atau sepenuhnya diganti dengan konfigurasi Anda sendiri.

Mengkonfigurasi server proxy pada versi platform Anda

Semua AL2 AL2 023/platform mendukung fitur konfigurasi proxy yang seragam. Untuk informasi selengkapnya tentang mengonfigurasi server proxy pada versi platform Anda yang menjalankan AL2 023/AL2, lihat. Konfigurasi proksi terbalik

Jika lingkungan Elastic Beanstalk Tomcat Anda menggunakan versi platform Amazon AMI Linux (sebelum Amazon Linux 2), baca informasi tambahan di bagian ini.

Catatan
  • Informasi dalam topik ini hanya berlaku untuk cabang platform berbasis Amazon Linux AMI (AL1). AL2023/ cabang AL2 platform tidak kompatibel dengan versi platform Amazon Linux AMI (AL1) sebelumnya dan memerlukan pengaturan konfigurasi yang berbeda.

  • Pada tanggal 18 Juli 2022, Elastic Beanstalk menetapkan status semua cabang platform berbasis Amazon Linux () untuk pensiun. AMI AL1 Untuk informasi selengkapnya tentang migrasi ke cabang platform Amazon Linux 2023 saat ini dan didukung penuh, lihat. Memigrasi aplikasi Elastic Beanstalk Linux Anda ke Amazon Linux 2023 atau Amazon Linux 2

Versi platform Tomcat berbasis Amazon Linux AMI (sebelumnya Amazon Linux 2) menggunakan Apache 2.4 untuk proxy secara default. Anda dapat memilih untuk menggunakan Apache 2.2 atau nginx dengan menyertakan file konfigurasi di kode sumber Anda. Contoh berikut mengonfigurasi Elastic Beanstalk untuk menggunakan nginx.

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

Jika aplikasi Anda dikembangkan untuk Apache 2.2, baca bagian ini untuk mempelajari tentang migrasi ke Apache 2.4.

Dimulai dengan konfigurasi platform versi 3.0.0 Tomcat, yang dirilis dengan Java dengan pembaruan platform Tomcat pada 24 Mei 2018, Apache 2.4 adalah proksi default dari platform Tomcat. File .conf Apache 2.4 sebagian besar, tetapi tidak sepenuhnya, kompatibel dengan Apache 2.2. Elastic Beanstalk mencakup file .conf default yang bekerja dengan benar dengan setiap versi Apache. Jika aplikasi Anda tidak menyesuaikan konfigurasi Apache, seperti yang dijelaskan di Memperluas dan mengganti konfigurasi Apache default - Amazon Linux () AMI AL1, aplikasi harus bermigrasi ke Apache 2.4 tanpa masalah apa pun.

Jika aplikasi Anda memperluas atau mengganti konfigurasi Apache, Anda mungkin harus membuat beberapa perubahan untuk bermigrasi ke Apache 2.4. Untuk informasi selengkapnya, lihat Meningkatkan ke 2.4 dari 2.2 di situs Apache Software Foundation. Sebagai tindakan sementara, sampai Anda berhasil bermigrasi ke Apache 2.4, Anda dapat memilih untuk menggunakan Apache 2.2 dengan aplikasi Anda dengan menyertakan file konfigurasi di kode sumber Anda.

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

Untuk perbaikan cepat, Anda juga dapat memilih server proksi di konsol Elastic Beanstalk.

Untuk memilih proksi di lingkungan Tomcat Anda di konsol Elastic Beanstalk
  1. Buka konsol Elastic Beanstalk, dan di daftar Wilayah, pilih konsol Elastic Beanstalk. Wilayah AWS

  2. Di panel navigasi, pilih Lingkungan, dan kemudian pilih nama lingkungan Anda dari daftar.

    catatan

    Jika Anda memiliki banyak lingkungan, gunakan bilah pencarian untuk memfilter daftar lingkungan.

  3. Di panel navigasi, pilih Konfigurasi.

  4. Dalam kategori konfigurasi Pembaruan, pemantauan, dan pencatatan, pilih Edit.

  5. Untuk server proksi, pilih Apache 2.2 (deprecated).

  6. Untuk menyimpan perubahan pilih Terapkan di bagian bawah halaman.

Memilih proksi untuk lingkungan Tomcat di kategori konfigurasi perangkat lunak konsol Elastic Beanstalk

Anda dapat memperpanjang konfigurasi Apache default Elastic Beanstalk dengan file konfigurasi tambahan Anda. Atau, Anda dapat sepenuhnya mengganti konfigurasi Apache default Elastic Beanstalk.

catatan

Untuk memperpanjang konfigurasi Apache default Elastic Beanstalk, tambahkan file konfigurasi .conf ke folder bernama .ebextensions/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 | -- conf.d | -- myconf.conf | -- ssl.conf -- index.jsp

Sebagai contoh, konfigurasi Apache 2.4 berikut menambahkan listener di port 5000.

contoh . 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>

Untuk mengambil alih konfigurasi Apache default Elastic Beanstalk sepenuhnya, sertakan konfigurasi di paket sumber Anda di .ebextensions/httpd/conf/httpd.conf.

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

Jika Anda mengganti konfigurasi Apache Elastic Beanstalk, tambahkan baris berikut ke httpd.conf untuk menarik konfigurasi Elastic Beanstalk untuk Elastic Beanstalk meningkatkan pelaporan dan pemantauan kesehatan, kompresi respons, dan file statis.

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

Jika lingkungan Anda menggunakan Apache 2.2 sebagai proksi, ganti arahan IncludeOptional dengan Include. Untuk detail tentang perilaku kedua arahan ini dalam dua versi Apache, lihat Sertakan di Apache 2.4, di Apache 2.4, dan Sertakan IncludeOptional di Apache 2.2.

catatan

Untuk mengganti listener default di port 80, termasuk sebuah file bernama 00_application.conf di .ebextensions/httpd/conf.d/elasticbeanstalk/ untuk menimpa konfigurasi Elastic Beanstalk.

Untuk contoh kerja, lihatlah file konfigurasi default Elastic Beanstalk di /etc/httpd/conf/httpd.conf pada instans di lingkungan Anda. Semua file di folder .ebextensions/httpd di paket sumber Anda akan disalin ke /etc/httpd selama deployment.

Untuk memperpanjang konfigurasi nginx default Elastic beanstalk, tambahkan file konfigurasi .conf ke folder bernama .ebextensions/nginx/conf.d/ di paket sumber aplikasi Anda. Konfigurasi nginx Elastic Beanstalk mencakup file .conf di folder ini secara otomatis.

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

File dengan ekstensi .conf di folder conf.d yang disertakan di blok http dari konfigurasi default. File di folder conf.d/elasticbeanstalk yang disertakan di blok server di dalam blok http.

Untuk mengganti konfigurasi nginx default Elastic Beanstalk sepenuhnya, sertakan konfigurasi di paket sumber Anda di .ebextensions/nginx/nginx.conf.

~/workspace/my-app/ |-- .ebextensions | `-- nginx | `-- nginx.conf `-- index.jsp
Catatan
  • Jika Anda mengganti konfigurasi nginx Elastic Beanstalk, tambahkan baris berikut ke blok server konfigurasi Anda untuk menarik konfigurasi Elastic Beanstalk untuk listener port 80, kompresi respons, dan file statis.

    include conf.d/elasticbeanstalk/*.conf;
  • Untuk mengganti listener default di port 80, termasuk sebuah file bernama 00_application.conf di .ebextensions/nginx/conf.d/elasticbeanstalk/ untuk menimpa konfigurasi Elastic Beanstalk.

  • Juga sertakan baris berikut di blok http konfigurasi Anda untuk menarik dalam konfigurasi Elastic Beanstalk untuk Elastic Beanstalk meningkatkan pelaporan dan pemantauan kesehatan dan logging.

    include conf.d/*.conf;

Untuk contoh kerja, lihatlah file konfigurasi default Elastic Beanstalk di /etc/nginx/nginx.conf pada instans di lingkungan Anda. Semua file di folder .ebextensions/nginx di paket sumber Anda akan disalin ke /etc/nginx selama deployment.