Penerusan port untuk URL yang lebih bersih

Secara default, HTTPS mengasumsikan port adalah 443. Ini berarti https://looker.yourdomain.com akan otomatis ditangani seolah-olah pengguna telah mengetik https://looker.yourdomain.com:443. Namun, menggunakan port HTTPS standar (443) akan mengharuskan Looker untuk dijalankan sebagai root, yang tidak didukung dan tidak direkomendasikan.

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

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

Perhatikan bahwa lebih baik meneruskan 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 yang berbeda menggunakan iptable. Skrip berikut akan meneruskan lalu lintas dari port 443 ke 9999. Kebijakan 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 tersebut:

    #!/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 file 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 lain melibatkan penggunaan 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 tersebut:

    # 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 proxy terbalik

Anda dapat menggunakan reverse proxy dengan Looker. Server {i>reverse proxy<i} yang kami sarankan adalah Nginx. Ini adalah satu-satunya {i>reverse proxy<i} yang kami uji dan dukung sepenuhnya, meskipun kami tidak selalu melarang opsi lainnya. Anda dapat menemukan contoh konfigurasi Nginx di halaman dokumentasi Sample Nginx configuration.

Perhatikan bahwa reverse proxy Apache memiliki bug di dalamnya yang mencegah Looker dapat menutup koneksi dengan benar. Ini berarti bahwa setiap kueri database akan berjalan sampai selesai, bahkan jika pengguna membatalkannya. Oleh karena itu, Anda harus menghindari penggunaan reverse proxy Apache dengan Looker.

Load balancer

Ada banyak solusi load balancer yang tersedia. Dari level tinggi, load balancer akan dikonfigurasi untuk memproses 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 mengizinkan Dukungan Looker untuk mengakses deployment Anda.