GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengarahkan HTTP ke HTTPS di Nginx

Pendahuluan

Nginx (diucapkan "Engine-X") adalah server web dan aplikasi proxy berbasis Linux. Nginx adalah alat yang ampuh untuk mengarahkan dan mengelola lalu lintas web. Ini dapat dengan mudah dikonfigurasi untuk mengalihkan lalu lintas web HTTP yang tidak terenkripsi ke server HTTPS terenkripsi.

Panduan ini akan menunjukkan cara mengarahkan HTTP ke HTTPS menggunakan Nginx.

Prasyarat

  • Server Linux yang menjalankan Nginx
  • Akun pengguna dengan sudo hak istimewa
  • Login jarak jauh ke server web (opsional, hanya diperlukan jika Anda tidak bekerja secara langsung di server web Anda)
  • Akses ke terminal/baris perintah (Ctrl-Alt-T atau Ctrl-Alt-F2)

Pengalihan HTTP ke HTTPS

Untuk menerapkan pengalihan HTTP ke HTTPS, Anda perlu mengedit file konfigurasi Nginx.

Biasanya, Anda dapat menemukan file di /etc/nginx/sites-available direktori. Jika tidak ditemukan, cari di sini:/etc/nginx/nginx.conf, /usr/local/nginx/conf , atau /usr/local/etc/nginx .

Setelah Anda menemukan file konfigurasi Nginx, buka di editor teks dengan perintah:

sudo nano /etc/nginx/sites-available/server.conf

Ganti lokasi dengan lokasi dan nama sebenarnya dari file konfigurasi Anda.

Setelah file konfigurasi terbuka untuk diedit, masukkan salah satu blok kode di bawah ini. Setelah Anda selesai mengedit, simpan file dan keluar. Kemudian, restart layanan Nginx dengan perintah berikut:

sudo service nginx restart

Nginx Redirect semua lalu lintas HTTP ke HTTPS

Buka file konfigurasi Nginx untuk diedit, lalu masukkan kode berikut:

server {

    listen 80 default_server;


    server_name _;


    return 301 https://$host$request_uri;

}

Berikut adalah rincian perintahnya:

  • Listen 80 :Ini menginstruksikan sistem untuk menangkap semua lalu lintas HTTP di Port 80
  • Server_name _; :Ini akan cocok dengan nama host apa pun
  • Return 301 :Ini memberi tahu browser (dan mesin telusur) bahwa ini adalah pengalihan permanen
  • https://$host$request_uri :Ini adalah kode pendek untuk menentukan versi HTTPS dari apa pun yang diketik pengguna

Setelah mengedit, semua lalu lintas untuk server default HTTP dialihkan ke HTTPS.

Mengalihkan Situs Tertentu

Anda mungkin memiliki beberapa server, tetapi hanya beberapa dari mereka yang mungkin memerlukan HTTPS. Tentukan nama server di blok server untuk mengarahkan lalu lintas yang dipilih:

server {

    listen 80 default_server;


    server_name my_app.com;


    return 301 https://my_app.com$request_uri;

}

Ganti nama my_app.com dengan nama server yang ingin Anda arahkan. Anda mungkin juga ingin menambahkan situs tambahan dengan menambahkan blok server lain. Cukup salin kodenya, dan ganti nama servernya.

Hanya Terima Koneksi SSL

Tambahkan kode ini untuk memastikan bahwa server hanya akan menerima koneksi SSL pada Port 443:

server {

    listen 443 ssl default_server;

    server_name my_app.com;

}


server {

    listen 443 ssl;

    server_name my_website.com;

}

Blok kode ini akan menyetel dua situs web, my_app.com dan situs_saya.com , untuk hanya menerima koneksi SSL. Anda dapat menambahkan situs tambahan dengan menggunakan blok server tambahan.

Pengalihan Halaman Nginx

Anda dapat menggunakan kode penulisan ulang untuk mengelola pengalihan 301 (permanen) atau 302 (sementara) dengan cepat:

Location /index.html {

       rewrite ^/oldURL$ https://www.your_domain.com/newURL redirect;

}

Biasanya, lokasinya adalah index.html , tetapi Anda dapat menentukan jalur/pola apa pun.

Perhatikan bahwa rewrite perintah hanya boleh digunakan dengan pengalihan 301 atau 302.

Cara Mengarahkan Domain Dengan Nginx

Ini berguna jika Anda telah mengubah ekstensi vanity (seperti .biz atau .net) ke alamat .com standar. Itu juga dapat digunakan untuk mengalihkan dari nama domain lama ke nama domain baru.

server {

    listen 80;

    listen 443 ssl;

    server_name www.old_company.com;

    return 301 $scheme://www.new_company.com$request_uri;

}

Untuk sebagian besar contoh, return perintah lebih disukai daripada perintah penulisan ulang.

Mengalihkan dari situs web www ke situs web non-www

Proses ini mirip dengan pengalihan halaman standar:

server {

    server_name www.new_company.com;

    return 301 $scheme://new_company.com$request_uri;

}

Alasan untuk Mengarahkan Lalu Lintas

Ada beberapa alasan untuk mengalihkan lalu lintas HTTP ke HTTPS. Anda mungkin perlu:

  • Paksakan koneksi terenkripsi yang lebih aman.
  • Pertahankan halaman dengan peringkat SEO yang baik, tetapi kirimkan lalu lintasnya ke halaman baru.
  • Beri tahu dan kirim lalu lintas untuk sementara ke halaman “sedang dalam pemeliharaan”.
  • Mengirim lalu lintas secara permanen dari satu situs web ke situs web lainnya, yaitu setelah merger perusahaan.

Linux
  1. Cara Menggunakan Nginx untuk Mengarahkan

  2. Cara Menginstal HTTP Git Server Dengan Nginx di Ubuntu 16.04

  3. Bagaimana cara mengarahkan ulang http ke https menggunakan .htaccess?

  1. Cara Menginstal HTTP Git Server dengan Nginx di Ubuntu 20.04

  2. Cara Menginstal HTTP Git Server dengan Nginx di Debian 11

  3. Mengarahkan HTTP ke HTTPS di NginX

  1. Cara Mengaktifkan HTTP/2 di Nginx

  2. Cara Mengaktifkan Dukungan HTTP/2.0 di Nginx

  3. Bagaimana cara mengarahkan HTTP ke HTTPS secara otomatis di server Apache?