Nginx

Cara Mengarahkan URL di Nginx

Cara Mengarahkan URL di Nginx
Nginx adalah pelayan web ringan, yang sering digunakan sebagai proksi terbalik, pelayan web, dan pengimbang beban juga. Nginx, secara lalai dilengkapi dengan banyak ciri berguna, dan banyak lagi dapat ditambahkan sebagai modul ketika sedang dipasang. Panduan ini bertujuan untuk menunjukkan cara menggunakan Nginx untuk mengarahkan URL ke arah yang berbeza. Walaupun Nginx menyediakan banyak ciri untuk mengarahkan URL, panduan ini menggunakan sebahagian kecil daripada mereka kerana tujuannya adalah untuk mengajar hanya yang penting dalam pengalihan URL. Kawasan yang diliputi dalam panduan ini adalah mengalihkan URL yang tidak selamat (port 80) ke versi yang diamankan, mengarahkan permintaan ke IP ke nama domain, dan akhirnya mengarahkan sub domain lain, domain ke domain utama.

Pra-syarat

Pertama sekali, panduan ini menganggap pengguna mempunyai klien SSH yang betul yang telah dipasang di komputer, jika tidak terus maju dan pasang Putty sebagai klien, kemudian gunakan arahan berikut. Selain itu, dengan Nginx, diperlukan penyunting Nano juga.

  1. Ketik arahan berikut untuk memasang penyunting teks Nano. Perintah pertama membantu mendapatkan pakej terbaru dari repositori, dan perintah kedua memasang versi terbaru penyunting teks nano.
sudo apt-get kemas kini
sudo apt-get install nano
  1. Di tetingkap terminal, ketik perintah berikut untuk mengubah direktori semasa ke direktori nginx.
cd / etc / nginx / laman web-tersedia
  1. Sekarang taip nano lalai atau nama fail yang dikaitkan dengan domain untuk mengubah tetapan domain.
  2. Sejak sekarang ikuti salah satu segmen berikut untuk meneruskan.

Ubah hala dari HTTP (Port 80)

Google, Bing dan banyak enjin carian lain kini menggemari laman web dengan sambungan yang disulitkan. Apabila hubungan antara klien, dan pelayan dienkripsi, penghantaran data melalui sambungan tersebut selamat, dan oleh itu pihak ketiga tidak dapat mengakses data tersebut. Apabila sambungan tidak dienkripsi, laman web tersebut tidak selamat, dan dengan itu membahayakan keselamatan data. Laman web yang tidak selamat menggunakan port 80 untuk menyediakan perkhidmatannya kepada orang ramai. Sayangnya, secara lalai penyemak imbas web menghubungkan dengan port 80, kerana pelayan web menganggap itu yang dikehendaki oleh pelanggan secara lalai, dan dengan itu permintaan tersebut harus diarahkan ke versi yang diamankan. Terdapat pelbagai cara untuk menyelesaikannya dengan Nginx.

Kaedah 1

Sekiranya nama domain saat ini tersedia, dan jika menerima permintaan dari klien, mereka dapat diarahkan ke domain lain dengan potongan kode berikut. Cukup salin ke fail lalai atau fail domain.

Parameter pelayan lalai menentukan blok pelayan ini adalah pelayan lalai, oleh itu sebarang permintaan ke port 80 melaksanakan blok pelayan ini pada mulanya secara lalai, dan kemudian selebihnya mengikuti selepas itu. Tanda kurung menunjukkan bahawa ia juga menangkap permintaan dari rangkaian ipv6. Return 310 menandakan, pengalihan itu kekal, dan dengan itu jus pautan disalurkan dengannya.

pelayan
dengarkan 80 default_server;
dengar [::]: 80 default_server;
domain nama pelayan.com www.domain.com;
pulangkan 301 https: // domain.com $ request_uri;

Kaedah 2

Sekiranya pelayan semasa tidak mempunyai laman web yang melekat padanya, dan syaratnya adalah mengalihkan permintaan ke port 80, maka blok pelayan berikut dapat digunakan. Salin ke fail lalai seperti yang dinyatakan sebelumnya. Di sini _ (garis bawah) menandakan mana-mana domain. Seperti sebelumnya, parameter default_server, kurungan (untuk alamat IPv6) seperti atribut pilihan boleh digunakan di sini juga.

pelayan
dengarkan 80 default_server;
nama pelayan _;
pulangkan 301 https: // $ host $ request_uri;

Kaedah 3

Coretan kod berikut menunjukkan jika sambungan tidak dienkripsi, yang bermaksud port 80 menerima permintaan, maka mereka diarahkan ke versi selamat dari domain yang ditentukan. Ini harus disalin ke mana saja di blok pelayan, tetapi setelah parameter nama_pengguna.

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

Ubah hala dari Alamat IP

Tidak seperti host bersama, pelayan khusus dan pelayan peribadi maya selalu mempunyai alamat IP khusus yang diperuntukkan kepadanya. Sekiranya pelayan web dikonfigurasi dengan Nginx dengan garis bawah (yang bermaksud pelayan memproses setiap permintaan), maka setiap permintaan ke alamat IP akan mendapat akses ke laman web juga. Memiliki akses ke laman web melalui alamat IP bukanlah sesuatu yang diinginkan oleh setiap webmaster kerana pelbagai alasan. Sebaliknya, jika setiap permintaan diproses, pengguna berniat jahat dapat mengaitkan domain rawak dengan pelayan web, yang tidak sesuai dengan nama jenama atau perniagaan, dan oleh itu penting untuk memproses permintaan hanya ke domain tertentu atau dan alamat IP. Segmen ini menunjukkan dalam kes seperti ini bagaimana memproses permintaan ke alamat IP pelayan web. Menggunakan blok kod ini bersama dengan salah satu blok kod di atas (kecuali kaedah 2 penyelesaian sebelumnya) memastikan setiap permintaan ke kedua domain, dan IP diarahkan ke tujuan yang diinginkan.

Seperti yang dinyatakan di atas, salin potongan kod berikut ke fail lalai Nginx (pra-syarat, langkah ke-3). Daripada menggunakan nama domain dalam parameter server_name, cukup gunakan alamat IP pelayan, kemudian di baris berikutnya, gunakan "kembalikan domain 301" ke tempat permintaan dialihkan. Sekarang apabila permintaan ke alamat IP khusus ini diterima ke pelayan, permintaan tersebut diarahkan ke domain yang dinyatakan. Contoh terbaik untuk itu adalah, apabila pengguna rawak menaip IP pelayan web untuk mengakses laman web secara langsung. Sekiranya coretan kod berikut tidak dinyatakan di mana-mana dalam fail lalai, permintaan ke IP tidak diproses; oleh itu pengguna tidak dapat mengakses laman web melalui alamat IP.

pelayan
dengar 80;
dengar [::]: 80;
dengar 443 ssl http2;
dengar [::]: 443 ssl http2;
pelayan_nama 192.168.1.1;
pulangkan 301 https: // nucuta.com;

Ubah hala dari Domain lain

Penyelesaian ini sama dengan penyelesaian pertama panduan ini, kecuali ia juga mengalihkan permintaan ke port 443 pelayan web, yang bermaksud permintaan selamat dan tidak terjamin dialihkan ke domain yang dinyatakan sebagai parameter kembali. Seperti yang dinyatakan sebelumnya, salin sahaja ke fail lalai.

pelayan
dengar 80;
dengar [::]: 80;
dengar 443 ssl http2;
dengar [::]: 443 ssl http2;
domain nama pelayan.com www.domain.com;
pulangkan 301 https: // nucuta.com;

Memuktamadkan

Setelah mengikuti salah satu penyelesaian di atas, fail nginx harus dikompilasi agar konfigurasinya dapat dilaksanakan. Namun, file lalai harus diuji sebelum menyusun, kerana mencegah pelayan web mogok jika ada kesalahan dalam konfigurasi.

  1. Cukup gunakan perintah berikut di terminal Linux untuk menguji fail konfigurasi lalai, hasilnya baik terus ke langkah berikutnya.
sudo nginx -t
  1. Gunakan salah satu arahan berikut untuk memulakan semula pelayan web Nginx. Perintah bergantung pada nama, dan versi distro Linux.
sudo systemctl mulakan semula nginx
perkhidmatan sudo tambah nilai nginx
sudo / etc / init.tambah nilai d / nginx
Cara Menggunakan Mesin Cheat GameConqueror di Linux
Artikel ini merangkumi panduan mengenai penggunaan mesin cheat GameConqueror di Linux. Ramai pengguna yang bermain permainan di Windows sering menggun...
Emulator Konsol Permainan Terbaik untuk Linux
Artikel ini akan menyenaraikan perisian emulasi konsol permainan popular yang tersedia untuk Linux. Emulation adalah lapisan keserasian perisian yang ...
Distro Linux Terbaik untuk Permainan pada tahun 2021
Sistem operasi Linux telah jauh dari tampilan asal, ringkas dan berasaskan pelayan. OS ini telah berkembang pesat dalam beberapa tahun kebelakangan in...