

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

# Mengonfigurasi server proksi
<a name="java-se-nginx"></a>

Elastic Beanstalk menggunakan [nginx](https://www.nginx.com/) sebagai proksi terbalik untuk memetakan aplikasi Anda ke penyeimbang beban Elastic Load Balancing di port 80. Elastic Beanstalk menyediakan konfigurasi nginx default yang dapat Anda perluas atau sepenuhnya diganti dengan konfigurasi Anda sendiri.

Secara default, Elastic Beanstalk mengonfigurasi proksi nginx untuk meneruskan permintaan ke aplikasi Anda di port 5000. Anda dapat mengganti port default dengan mengatur `PORT` [properti lingkungan](java-se-platform.md#java-se-options) ke port yang didengarkan aplikasi utama Anda.

**catatan**  
Port yang didengar aplikasi Anda tidak mempengaruhi port yang didengar server nginx untuk menerima permintaan dari penyeimbang beban.

**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](platforms-linux-extend.proxy.md) 

## Mengonfigurasi proksi di Amazon Linux AMI (Amazon Linux 2 terdahulu)
<a name="java-se-nginx.alami"></a>

Jika lingkungan Java SE Elastic Beanstalk Anda menggunakan versi platform Amazon Linux AMI (Amazon Linux 2 terdahulu), 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 [18 Juli 2022,](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-07-18-linux-al1-retire.html) Elastic Beanstalk menetapkan status semua cabang platform berdasarkan Amazon Linux AMI AL1 () untuk pensiun.** 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](using-features.migration-al.md)

### Memperluas dan mengganti konfigurasi proxy default — Amazon Linux AMI () AL1
<a name="java-se-nginx.alami.extending"></a>

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
|           `-- myconf.conf
`-- web.jar
```

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
`-- web.jar
```

Jika Anda mengganti konfigurasi nginx Elastic Beanstalk, tambahkan baris berikut ke `nginx.conf` untuk menarik konfigurasi Elastic Beanstalk untuk [Peningkatan pelaporan dan pemantauan kesehatan di Elastic Beanstalk](health-enhanced.md), pemetaan aplikasi otomatis, dan file statis.

```
 include conf.d/elasticbeanstalk/*.conf;
```

Contoh konfigurasi berikut dari [Aplikasi sampel Scorekeep](https://github.com/aws-samples/eb-java-scorekeep/) mengganti konfigurasi default Elastic Beanstalk untuk melayani aplikasi web statis dari subdirektori `public` dari `/var/app/current`, saat platform Java SE menyalin kode sumber aplikasi. lokasi `/api` meneruskan lalu lintas ke rute di bawah `/api/` ke aplikasi Spring yang mendengarkan di port 5000. Semua lalu lintas lainnya dilayani oleh aplikasi web di jalur akar.

**Example**  

```
user                    nginx;
error_log               /var/log/nginx/error.log warn;
pid                     /var/run/nginx.pid;
worker_processes        auto;
worker_rlimit_nofile    33282;

events {
    worker_connections  1024;
}

http {
  include       /etc/nginx/mime.types;
  default_type  application/octet-stream;

  log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for"';

  include       conf.d/*.conf;

  map $http_upgrade $connection_upgrade {
      default     "upgrade";
  }

  server {
      listen        80 default_server;
      root /var/app/current/public;

      location / {
      }git pull
      

      location /api {
          proxy_pass          http://127.0.0.1:5000;
          proxy_http_version  1.1;

          proxy_set_header    Connection          $connection_upgrade;
          proxy_set_header    Upgrade             $http_upgrade;
          proxy_set_header    Host                $host;
          proxy_set_header    X-Real-IP           $remote_addr;
          proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
      }

      access_log    /var/log/nginx/access.log main;

      client_header_timeout 60;
      client_body_timeout   60;
      keepalive_timeout     60;
      gzip                  off;
      gzip_comp_level       4;

      # Include the Elastic Beanstalk generated locations
      include conf.d/elasticbeanstalk/01_static.conf;
      include conf.d/elasticbeanstalk/healthd.conf;
  }
}
```