Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk mengkonfigurasi pemajuan port bukan 80 port dalam pelayan Nginx

Bagaimana untuk mengkonfigurasi pemajuan port bukan 80 port dalam pelayan Nginx

WBOY
WBOYke hadapan
2023-05-20 15:04:181830semak imbas

nginx boleh dikonfigurasikan dengan mudah sebagai pelayan proksi terbalik:

  server {
  listen 80;
  server_name localhost;
  location / {
  proxy_pass http://x.x.x.x:9500;
  proxy_set_header host $host:80;
  proxy_set_header x-real-ip $remote_addr;
  proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
  proxy_set_header via "nginx";
  }
  }

Tetapi jika port mendengar nginx bukan port lalai 80, tukarkannya ke port lain seperti port 81.
Dalam pelayan hujung belakang, request.getserverport() tidak boleh mendapatkan port yang betul, dan nilai yang dikembalikan masih 80
Apabila responding.sendredirect(), pelanggan mungkin tidak memperoleh url ubah hala yang betul.
Mari kita lihat kaedah konfigurasi yang betul secara terperinci:

Tambah hos maya nginx

Bagaimana untuk mengkonfigurasi pemajuan port bukan 80 port dalam pelayan Nginx

Lakukan nginx Untuk pemajuan, sudah tentu nginx perlu dikonfigurasikan. Fungsi nginx boleh dipertingkatkan dengan menambah konfigurasi hos maya. Pertama, lihat fail konfigurasi nginx. Fail nginx pengarang berada dalam /etc/nginx/nginx.conf. Seperti yang anda boleh lihat daripada gambar di atas, nginx memperkenalkan fail konfigurasi dalam direktori vhosts.d pada penghujungnya. Kemudian anda perlu mencipta fail dengan akhiran .conf dalam direktori /etc/nginx/vhosts.d (jika direktori itu tidak wujud, anda perlu menciptanya sendiri).

nginx melakukan pemajuan bukan 80 port
Untuk melakukan pemajuan, anda boleh menggunakan item konfigurasi proxy_pass nginx. nginx mendengar port 80, dan selepas menerima permintaan, ia akan memajukannya ke URL untuk dimajukan. Konfigurasi khusus adalah seperti berikut:

server {
  server_name www.test.com
  listen 80;

  location / {
    proxy_pass http://127.0.0.1:8080;
  }
}

Ya, semudah itu. Ini adalah teras mengkonfigurasi pemajuan port.

Walau bagaimanapun, apabila anda menghadapi perniagaan yang perlu mendapatkan IP sebenar, anda juga perlu menambah konfigurasi tentang IP sebenar:

server {
  server_name www.test.com
  listen 80;

  location / {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header host $host:80;
    proxy_set_header x-real-ip $remote_addr;
    proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
  }
}

Konfigurasi proxy_set_header adalah untuk menukar pengepala permintaan http . Hos ialah nama hos permintaan, x-real-ip ialah IP sebenar permintaan, dan x-forward-for menunjukkan siapa yang memulakan permintaan.

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi pemajuan port bukan 80 port dalam pelayan Nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam