Penerusan port untuk URL yang lebih bersih

Secara default, HTTPS mengasumsikan bahwa portnya adalah 443. Artinya, https://looker.yourdomain.com akan otomatis ditangani seolah-olah pengguna telah mengetik https://looker.yourdomain.com:443. Namun, penggunaan port HTTPS standar (443) akan memerlukan pengoperasian Looker sebagai root, yang tidak didukung dan tidak direkomendasikan.

Salah satu opsi adalah meminta pengguna menentukan nomor port sebagai bagian dari URL saat mereka mengakses Looker. Misalnya, jika Anda menggunakan port 9999, mereka akan mengetik: https://looker.yourdomain.com:9999.

Pada instance yang dihosting pelanggan, untuk memudahkan pengguna, sebaiknya siapkan port default yang berbeda agar mereka dapat mengetik https://looker.yourdomain.com dan tetap membuka port yang benar. Anda dapat menyiapkan port default untuk Looker atau mengalihkan traffic ke port lain menggunakan beberapa metode:

Perhatikan bahwa sebaiknya teruskan paket langsung ke Looker, bukan secara tidak langsung (melalui proxy web), karena Looker memiliki fungsi untuk menghentikan kueri database saat mendeteksi bahwa browser telah membatalkan permintaan.

iptables di host Looker

Looker dapat diakses dari port lain menggunakan iptables. Skrip berikut akan meneruskan traffic dari port 443 ke 9999. Kode ini ditulis untuk Ubuntu Linux dan mungkin perlu dimodifikasi jika Anda menjalankan distribusi Linux yang berbeda.

  1. Buat file skrip:

    /etc/network/if-up.d/looker-https-forward
    
  2. Tambahkan konten berikut ke file:

    #!/bin/sh
    # Forward HTTPS traffic to the Looker app
    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 9999
    
  3. Buat agar dapat dieksekusi:

    sudo chmod 755 /etc/network/if-up.d/looker-https-forward
    
  4. Jalankan skrip, yang akan otomatis berjalan saat sistem atau jaringan dimulai ulang berikutnya:

    sudo /etc/network/if-up.d/looker-https-forward
    

xinetd di host Looker

Teknik lainnya adalah menggunakan xinetd.

  1. Pastikan xinetd mengizinkan traffic masuk dari semua alamat yang diinginkan. Di bagian default /etc/xinetd.conf, tambahkan:

    {
    only_from = 0.0.0.0
    # or replace 0.0.0.0 with an IP range
    # (i.e., 128.0.0.0/16) if desired
    }
    
  2. Buat file bernama: /etc/xinetd.d/lookerhttps

  3. Tambahkan konten berikut ke file:

    # default: on
    # description: Redirect HTTPS/443 requests to
    # Looker default port 9999
    service https
    {
    disable = no
    id = lookerhttps
    socket_type = stream
    protocol = tcp
    user = root
    wait = no
    redirect = 127.0.0.1 9999
    }
    

Server reverse proxy

Anda dapat menggunakan reverse proxy dengan Looker. Server reverse proxy yang kami sarankan adalah Nginx. Ini adalah satu-satunya reverse proxy yang kami uji dan dukung sepenuhnya, meskipun kami tidak melarang opsi lain. Anda dapat menemukan contoh konfigurasi Nginx di halaman dokumentasi Contoh konfigurasi Nginx.

Perhatikan bahwa reverse proxy Apache memiliki bug yang mencegah Looker menutup koneksi dengan benar. Artinya, setiap kueri database akan berjalan hingga selesai, meskipun pengguna membatalkannya. Karena alasan ini, Anda harus menghindari penggunaan reverse proxy Apache dengan Looker.

Load balancer

Ada banyak solusi load balancer yang tersedia. Dari tingkat tinggi, load balancer akan dikonfigurasi untuk memproses permintaan di port 443 dan meneruskan semua permintaan ke Looker di port 9999. Dalam hal ini, sertifikat server SSL Anda akan diinstal di load balancer.

Langkah berikutnya

Setelah mengonfigurasi penerusan port, Anda siap untuk mengizinkan Dukungan Looker mengakses deployment Anda.