Nginx

Cara Mengarahkan URL di Nginx

Cara Mengarahkan URL di Nginx
Nginx adalah server web ringan, yang sering digunakan sebagai proxy terbalik, server web, dan penyeimbang beban juga. Nginx, secara default hadir dengan banyak fitur yang berguna, dan lebih banyak lagi dapat ditambahkan sebagai modul ketika sedang diinstal. Panduan ini bermaksud menunjukkan cara menggunakan Nginx untuk mengarahkan ulang URL ke arah yang berbeda to. Meskipun Nginx menyediakan banyak fitur untuk mengarahkan ulang URL, panduan ini menggunakan sebagian kecil dari fitur tersebut karena tujuannya hanya untuk mengajarkan yang penting dalam pengalihan URL. Area yang tercakup dalam panduan ini adalah mengarahkan ulang URL tidak aman (port 80) ke versi amannya, mengalihkan permintaan ke IP ke nama domain, dan akhirnya mengarahkan ulang sub domain lain, domain ke domain utama.

Pra-persyaratan

Pertama-tama, panduan ini mengasumsikan pengguna memiliki klien SSH yang tepat telah terinstal di komputer, jika tidak lanjutkan dan instal Putty sebagai klien, gunakan perintah berikut. Selain itu, memiliki Nginx, editor Nano juga diperlukan.

  1. Ketik perintah berikut untuk menginstal editor teks Nano. Perintah pertama membantu mengambil paket terbaru dari repositori, dan perintah kedua menginstal versi terbaru editor teks nano.
sudo apt-get update
sudo apt-get install nano
  1. Di jendela terminal, ketik perintah berikut untuk mengubah direktori saat ini menjadi direktori nginx.
cd /etc/nginx/sites-available
  1. Sekarang ketik standar nano atau nama file yang terkait dengan domain untuk mengubah pengaturan domain.
  2. Sejak sekarang ikuti salah satu segmen berikut untuk melanjutkan.

Redirect dari HTTP (Port 80)

Google, Bing, dan banyak mesin pencari lainnya saat ini menyukai situs web dengan koneksi terenkripsi. Ketika koneksi antara klien, dan server dienkripsi, transmisi data melalui koneksi tertentu aman, dan dengan demikian pihak ketiga tidak dapat mengakses data tersebut. Ketika koneksi tidak dienkripsi, situs tersebut tidak aman, dan dengan demikian membahayakan keamanan data. Situs web tidak aman menggunakan port 80 untuk menyediakan layanannya kepada publik. Sayangnya, secara default browser web terhubung dengan port 80, karena server web menganggap itu yang diinginkan klien secara default, dan dengan demikian permintaan harus dialihkan ke versi amannya. Ada beberapa cara untuk menyelesaikannya dengan Nginx.

Metode 1

Jika nama domain saat ini tersedia, dan jika menerima permintaan dari klien, maka mereka dapat dialihkan ke domain lain dengan cuplikan kode berikut. Cukup salin ke file default atau file domain.

Parameter server default menentukan blok server ini adalah server default, maka setiap permintaan ke port 80 mengeksekusi blok server ini pada awalnya secara default, dan kemudian sisanya mengikuti setelahnya. Tanda kurung menandakan itu juga menangkap permintaan dari jaringan ipv6. Pengembalian 310 menandakan, pengalihan bersifat permanen, dan dengan demikian jus tautan diteruskan bersamanya.

server
dengarkan 80 default_server;
mendengarkan [::]:80 default_server;
domain nama_server.com www.domain.com;
kembali 301 https://domain.com$request_uri;

Metode 2

Jika server saat ini tidak memiliki situs web yang dilampirkan padanya, dan persyaratannya adalah mengarahkan permintaan apa pun ke port 80, maka blok server berikut dapat digunakan. Salin ke file default seperti yang dinyatakan sebelumnya. Di sini _ (garis bawah) menandakan domain apa pun. Seperti sebelumnya, parameter default_server, tanda kurung (untuk alamat IPv6) seperti atribut opsional juga dapat digunakan di sini.

server
dengarkan 80 default_server;
nama server _;
kembalikan 301 https://$host$request_uri;

Metode 3

Cuplikan kode berikut menandakan jika koneksi tidak dienkripsi, artinya port 80 menerima permintaan, kemudian diarahkan ke versi aman dari domain yang ditentukan. Ini harus disalin ke mana saja di blok server, tetapi setelah parameter server_name.

jika ($skema != "https")
kembalikan 301 https://$host$request_uri;

Redirect dari Alamat IP

Tidak seperti shared host, baik dedicated server, dan virtual private server selalu memiliki alamat IP khusus yang dialokasikan untuk itu. Jika server web dikonfigurasi dengan Nginx dengan garis bawah (yang berarti server memproses setiap permintaan), maka setiap permintaan ke alamat IP mendapatkan akses ke situs web juga. Memiliki akses ke situs web melalui alamat IP bukanlah sesuatu yang diinginkan setiap master web karena berbagai alasan. Di sisi lain, jika setiap permintaan diproses, pengguna jahat dapat mengaitkan domain acak apa pun dengan server web, yang tidak baik untuk nama merek atau bisnis, dan oleh karena itu penting untuk memproses hanya permintaan ke domain tertentu atau dan alamat IP. Segmen ini menunjukkan dalam kasus seperti itu bagaimana memproses permintaan ke alamat IP server web. Menggunakan blok kode ini bersama dengan salah satu blok kode di atas (kecuali metode 2 dari solusi sebelumnya) memastikan setiap permintaan ke kedua domain, dan IP diarahkan ke tujuan yang diinginkan.

Seperti yang dikatakan di atas, salin cuplikan kode berikut ke file default Nginx (persyaratan sebelumnya, langkah ke-3). Alih-alih menggunakan nama domain di parameter server_name, cukup gunakan alamat IP server, lalu di baris berikutnya, gunakan "return 301 domain" ke tempat permintaan diarahkan. Sekarang ketika permintaan ke alamat IP khusus ini diterima ke server, itu dialihkan ke domain yang disebutkan. Contoh terbaik untuk itu adalah, ketika pengguna acak mengetikkan IP server web untuk mengakses situs secara langsung. Jika cuplikan kode berikut tidak dinyatakan di mana pun dalam file default, permintaan apa pun ke IP tidak akan diproses; maka pengguna tidak dapat mengakses situs web melalui alamat IP.

server
mendengarkan 80;
dengarkan [::]:80;
dengarkan 443 ssl http2;
dengarkan [::]:443 ssl http2;
nama_server 192.168.1.1;
kembali 301 https://nucuta.com;

Redirect dari Domain lain

Solusi ini sama dengan solusi pertama dari panduan ini, kecuali itu juga mengarahkan permintaan ke port 443 server web, yang berarti permintaan aman, dan tidak aman dialihkan ke domain yang dinyatakan dalam parameter pengembalian. Seperti yang dikatakan sebelumnya, cukup salin ini ke file default.

server
mendengarkan 80;
dengarkan [::]:80;
dengarkan 443 ssl http2;
dengarkan [::]:443 ssl http2;
domain nama_server.com www.domain.com;
kembali 301 https://nucuta.com;

Menyelesaikan

Setelah mengikuti salah satu solusi di atas, file nginx harus dikompilasi untuk menerapkan konfigurasinya. Namun, file default harus diuji sebelum dikompilasi, karena mencegah server web mogok jika ada kesalahan dalam konfigurasi.

  1. Cukup gunakan perintah berikut di terminal Linux untuk menguji file konfigurasi default, hasilnya bagus lanjutkan ke langkah berikutnya.
sudo nginx -t
  1. Gunakan salah satu dari perintah berikut untuk memulai ulang server web Nginx. Perintahnya tergantung pada nama, dan versi distro Linux.
sudo systemctl restart nginx
sudo service nginx reload
sudo /etc/init.d/nginx isi ulang
Port Sumber Terbuka dari Mesin Game Komersial
Rekreasi mesin game gratis, open source, dan lintas platform dapat digunakan untuk bermain lama serta beberapa judul game yang cukup baru. Artikel ini...
Game Baris Perintah Terbaik untuk Linux
Baris perintah bukan hanya sekutu terbesar Anda saat menggunakan Linux-ini juga dapat menjadi sumber hiburan karena Anda dapat menggunakannya untuk me...
Aplikasi Pemetaan Gamepad Terbaik untuk Linux
Jika Anda suka bermain game di Linux dengan gamepad alih-alih sistem input keyboard dan mouse biasa, ada beberapa aplikasi yang berguna untuk Anda. Ba...