全部产品
Search
文档中心

Database Autonomy Service:Hubungkan DBGateway ke DAS melalui proxy NGINX

更新时间:Feb 28, 2026

Topik ini menjelaskan cara mengonfigurasi server proxy NGINX untuk mengatasi masalah konektivitas jaringan antara DBGateway dan titik akhir Database Autonomy Service (DAS).

Skenario

Anda mungkin perlu menggunakan proxy NGINX dalam skenario berikut:

  • Setelah membuat domain keamanan, koneksi langsung antara DBGateway dan titik akhir DAS tidak dapat dilakukan.

  • DBGateway terhubung ke titik akhir DAS melalui Internet, tetapi koneksi jaringannya bersifat intermiten atau terputus. Anda ingin mengarahkan lalu lintas melalui server proxy NGINX internal yang meneruskan data ke titik akhir DAS.

Ikhtisar solusi

Diagram berikut menunjukkan bagaimana NGINX bertindak sebagai proxy aliran TCP antara DBGateway dan titik akhir DAS.

Architecture diagram: DBGateway connects to NGINX proxy, which forwards traffic to the DAS endpoint

DBGateway terhubung ke server proxy NGINX pada Port 80. Server NGINX kemudian meneruskan lalu lintas TCP ke titik akhir DAS. Untuk mengarahkan ulang lalu lintas DBGateway ke proxy NGINX, tambahkan entri file hosts pada mesin DBGateway yang memetakan domain titik akhir DAS ke alamat IP server proxy NGINX.

Prasyarat

  • Server Linux yang memiliki akses jaringan ke DBGateway dan titik akhir DAS.

  • Hak istimewa root atau sudo pada server Linux.

  • Alat pengembangan untuk mengompilasi NGINX dari source (gcc, make, dan pustaka terkait).

Prosedur

Langkah 1: Instal NGINX dengan modul stream

  1. Unduh dan ekstrak kode sumber NGINX.

       wget http://nginx.org/download/nginx-1.17.4.tar.gz
       tar -zxvf nginx-1.17.4.tar.gz
       cd nginx-1.17.4
  2. Kompilasi dan instal NGINX. Sertakan flag --with-stream untuk mengaktifkan modul stream guna proxy TCP. Secara default, NGINX diinstal di direktori /usr/local/nginx/.

       ./configure --with-http_ssl_module --with-http_v2_module --with-stream
       make
       sudo make install

Langkah 2: Konfigurasikan NGINX sebagai proxy aliran TCP

Buat file konfigurasi untuk proxy stream NGINX.

sudo bash -c 'cat << EOF > /usr/local/nginx/conf/hdm-master.conf
worker_processes auto;
events {
    worker_connections  1024;
}
stream {
    upstream backend {
        # Ganti dengan titik akhir DAS Anda
        server master-hdm-cn-shenzhen.aliyuncs.com:80 max_fails=3 fail_timeout=30s;
        hash \$remote_addr consistent;
    }
    server {
        listen 80;
        # Tetapkan nilai timeout lebih dari 7 detik untuk mencegah
        # error timeout koneksi pada DBGateway.
        proxy_connect_timeout 10s;
        proxy_timeout 10s;
        proxy_pass backend;
    }
}
EOF'

Tabel berikut menjelaskan parameter utama dalam konfigurasi tersebut.

ParameterNilaiDeskripsi
server (upstream)master-hdm-cn-shenzhen.aliyuncs.com:80Titik akhir DAS. Ganti nilai ini dengan titik akhir untuk wilayah Anda.
max_fails3Jumlah maksimum upaya koneksi gagal sebelum server upstream ditandai sebagai tidak tersedia.
fail_timeout30sDurasi selama jumlah upaya gagal tertentu harus terjadi agar server ditandai sebagai tidak tersedia. Server tetap tidak tersedia selama durasi ini.
listen80Port tempat proxy NGINX mendengarkan koneksi masuk dari DBGateway.
proxy_connect_timeout10sTimeout untuk membuat koneksi ke titik akhir DAS. Harus lebih dari 7 detik untuk menghindari timeout koneksi DBGateway.
proxy_timeout10sTimeout antara dua operasi baca atau tulis berturut-turut pada koneksi. Harus lebih dari 7 detik untuk menghindari timeout koneksi DBGateway.

Langkah 3: Jalankan NGINX

Jalankan perintah berikut untuk memulai NGINX dengan konfigurasi proxy:

sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/hdm-master.conf

Langkah 4: Ikat titik akhir DAS ke proxy NGINX pada mesin DBGateway

Untuk mengarahkan ulang lalu lintas DBGateway ke proxy NGINX, tambahkan entri file hosts pada mesin DBGateway yang memetakan domain titik akhir DAS ke alamat IP server proxy NGINX.

Jalankan perintah berikut pada mesin DBGateway:

# Ganti 11.239.XX.XX dengan alamat IP aktual server proxy NGINX Anda
# Ganti master-hdm-cn-shenzhen.aliyuncs.com dengan titik akhir DAS untuk wilayah Anda
echo "11.239.XX.XX    master-hdm-cn-shenzhen.aliyuncs.com" | sudo tee -a /etc/hosts

Setelah perubahan ini, ketika DBGateway melakukan resolusi domain titik akhir DAS, koneksi akan dialihkan ke server proxy NGINX, bukan langsung ke titik akhir DAS. Proxy NGINX kemudian meneruskan lalu lintas tersebut ke titik akhir DAS yang sebenarnya.