Cara menggunakan python requests ignore redirect

Nginx diucapkan “engine x” adalah aplikasi open-source, HTTP berkinerja tinggi, dan server reverse proxy yang memberi daya pada beberapa situs besar di Internet.

Nginx dapat digunakan sebagai server web mandiri, atau di kombinasikan sebagai reverse proxy untuk Apache dan web server lainnya.

Jika Anda pengembang atau administrator sistem, keamanan pertukaran data menjadi poin pertama ketika berurusan dengan jaringan. Salah satu langkah penting dalam pengamanan adalah mengarahkan lalu lintas HTTP ke versi situs web (HTTPS).

Tidak seperti HTTP, di mana permintaan dan respons dikirim akan dikembalikan dalam format plaintext, HTTPS menggunakan TLS/SSL untuk mengenkripsi komunikasi antara klien dan server.

Ada banyak manfaat menggunakan HTTPS melalui HTTP, seperti:

  • Semua data dienkripsi di kedua arah. Akibatnya, informasi sensitif tidak dapat dibaca jika disadap.
  • Google Chrome dan semua browser populer lainnya akan menandai situs web Anda sebagai aman.
  • HTTPS memungkinkan Anda untuk menggunakan protokol HTTP/2, yang secara signifikan meningkatkan kinerja situs.
  • Google lebih prefer pada situs web yang memiliki HTTPS. Situs Anda akan peringkat lebih baik jika dilayani melalui HTTPS.

Metode yang disukai untuk redirect HTTP ke HTTPS di Nginx adalah mengkonfigurasi server block terpisah untuk setiap versi situs. Anda harus menghindari redirecting lalu lintas menggunakan if directive, karena dapat menyebabkan perilaku server yang tidak dapat diprediksi.

Redirect HTTP ke HTTPS per Situs

Untuk mengalihkan satu situs web ke HTTPS, buka file konfigurasi domain dan buat perubahan berikut:

server {
    listen 80;
    listen [::]:80;
    server_name linuxid.net www.linuxid.net;
    return 301 https://www.linuxid.net$request_uri;
}

Mari kita uraikan baris kode demi baris:

  • listen 80 – Blok server akan listen koneksi masuk pada port 80 untuk domain yang ditentukan.
  • server_name linuxid.net www.linuxid.net – Menentukan nama untuk setiap domain server block. Pastikan Anda menggantinya dengan nama domain Anda.
  • return 301 https://www.linuxid.net$request_uri – Mengarahkan redirect ke versi situs HTTPS. Variabel $request_uri adalah URI permintaan asli lengkap termasuk argumen.

Biasanya, Anda juga ingin redirect versi situs HTTPS www ke non-www atau sebaliknya. Cara yang disarankan untuk melakukan redirect adalah dengan membuat block server terpisah untuk versi www dan non-www.

Misalnya, untuk redirect permintaan HTTPS www ke non-www, Anda akan menggunakan konfigurasi berikut:

server {
    listen 80;
    listen [::]:80;
    server_name linuxid.net www.linuxid.net;
    return 301 https://linuxid.net$request_uri;
}

server {
    listen 443 ssl http2;
    server_name www.linuxid.net;

    # . . . other code

    return 301 https://linuxid.net$request_uri;
}

server {
    listen 443 ssl http2;
    server_name linuxid.net;

    # . . . other code
}

 

Redirect Semua Situs ke HTTPS

Jika semua situs web yang dihosting di server dikonfigurasikan untuk menggunakan HTTPS, dan Anda tidak ingin membuat server block HTTP terpisah untuk setiap situs, Anda dapat membuat satu server block HTTP untuk menangkap semua request HTTP. Block ini akan mengalihkan semua permintaan HTTP ke block HTTPS yang sesuai.

Untuk membuat satu catch-all HTTP block yang akan mengarahkan pengunjung ke versi HTTPS situs, buka file konfigurasi Nginx dan buat perubahan berikut:

server {
  listen 80 default_server;
  listen [::]:80 default_server;
  server_name _;
  return 301 https://$host$request_uri;
}

Mari kita menganalisis kode baris demi baris:

  • listen 80 default_server – Tetapkan server block ini sebagai blok default (tangkap semua) untuk semua domain yang tidak cocok.
  • server_name _ – _adalah nama domain tidak valid yang tidak pernah cocok dengan nama domain asli.
  • server {
        listen 80;
        listen [::]:80;
        server_name linuxid.net www.linuxid.net;
        return 301 https://linuxid.net$request_uri;
    }
    
    server {
        listen 443 ssl http2;
        server_name www.linuxid.net;
    
        # . . . other code
    
        return 301 https://linuxid.net$request_uri;
    }
    
    server {
        listen 443 ssl http2;
        server_name linuxid.net;
    
        # . . . other code
    }
    0– Redirect lalu lintas ke blok server HTTPS yang sesuai dengan kode status 301 (Dipindahkan Secara Permanen). Variabel $host menampung nama domain dari request.

Misalnya, jika pengunjung membuka

server {
    listen 80;
    listen [::]:80;
    server_name linuxid.net www.linuxid.net;
    return 301 https://linuxid.net$request_uri;
}

server {
    listen 443 ssl http2;
    server_name www.linuxid.net;

    # . . . other code

    return 301 https://linuxid.net$request_uri;
}

server {
    listen 443 ssl http2;
    server_name linuxid.net;

    # . . . other code
}
1 di browser, Nginx akan mengalihkan permintaan ke
server {
    listen 80;
    listen [::]:80;
    server_name linuxid.net www.linuxid.net;
    return 301 https://linuxid.net$request_uri;
}

server {
    listen 443 ssl http2;
    server_name www.linuxid.net;

    # . . . other code

    return 301 https://linuxid.net$request_uri;
}

server {
    listen 443 ssl http2;
    server_name linuxid.net;

    # . . . other code
}
2.

Disarankan untuk membuat pengaturan redirection berdasarkan per-domain daripada pengalihan HTTP ke HTTPS secara global. Pengaturan per-domain membuat Anda lebih fleksibel dan lebih aman jika suatu hari nanti ada kesalahan dalam pengaturan global.

Kesimpulan

Setelah Anda menginstal sertifikat SSL di situs web Anda, Anda harus mengarahkan lalu lintas dari HTTP ke HTTPS.

Di Nginx, cara efektif untuk redirect dari HTTP ke HTTPS adalah dengan membuat server blocks terpisah dan gunakan opsi perintah 301 redirect.

  • LABEL
  • Nginx
  • Web Server

Share

Facebook

Twitter

Pinterest

WhatsApp

Telegram

Berita sebelumyaCara Format USB Drives dan SD Cards di Linux

Berita berikutnyaKonfigurasi Replikasi MySQL Master-Slave di Debian 10

xsand

Related Post

Review Kumpulan Terminal Emulator Terbaik Untuk Linux

Mengenal Konfigurasi Nginx Error Log dan Access Log

Cara Install dan Konfigurasi Java di Raspberry Pi

Cara Install Arch Linux di Raspberry Pi 3

Perbandingan Web Server Populer Nginx vs Apache

Cara Membuat Sertifikat SSL Self-Signed

Cara Install dan Konfigurasi Hugo Site Generator di Ubuntu 18.04

Cara Mengubah Izin File di Linux Secara Rekursif

Cara Clone Git Branch Dari Remote Repository

Terbaru

Cara menggunakan python requests ignore redirect

Daftar Repository Lokal Ubuntu 22.04 Jammy Jellyfish

xsand

Setiap rilis Ubuntu memiliki nomor versi yang terdiri dari jumlah tahun dan bulan rilis. Misalnya, Rilis pertama Ubuntu 22.04 adalah April 2022. Nomor versi...

Cara menggunakan python requests ignore redirect

Cara Upgrade ke Ubuntu 22.04 dari Baris Perintah

Cara menggunakan python requests ignore redirect

Daftar Repository Lokal Indonesia Debian 11

Cara menggunakan python requests ignore redirect

Menghapus Kernel Module Linux dengan Perintah Rmmod

Cara menggunakan python requests ignore redirect

Tutorial Konfigurasi Nginx Server Blocks di Ubuntu 20.04

Cara menggunakan python requests ignore redirect

Tutorial Konfigurasi Apache Virtual Hosts di Ubuntu 20.04

Rekomendasi

Cara menggunakan python requests ignore redirect

Tutorial Konfigurasi Nginx Server Blocks di Ubuntu 20.04

xsand

Server block Nginx memungkinkan Anda untuk menjalankan lebih dari satu situs web pada satu mesin. Dengan Server Blocks, Anda dapat menentukan root dokumen situs...