Jadual Kandungan
protokol proksi digunakan dalam nginx
Rumah Operasi dan penyelenggaraan Nginx Bagaimana untuk mengkonfigurasi dan menggunakan protokol proksi dalam nginx

Bagaimana untuk mengkonfigurasi dan menggunakan protokol proksi dalam nginx

May 18, 2023 am 08:47 AM
nginx proxy protocol

    protokol proksi digunakan dalam nginx

    Kami tahu bahawa nginx ialah pelayan web dan pelayan proksi Ia biasanya berfungsi dalam pelayan proksi atau perisian pengimbangan beban (. Haproxy , di belakang Amazon Elastic Load Balancer (ELB)

    Pertama, pelanggan memulakan permintaan kepada pelayan proksi atau perisian pengimbangan beban, dan kemudian permintaan itu dimajukan kepada nginx untuk akses web sebenar berbilang lapisan perisian, beberapa maklumat pelanggan seperti alamat IP, nombor port, dll. mungkin disembunyikan, yang menjejaskan analisis masalah dan statistik data kami 🎜>

    Dalam kes ini, anda perlu menggunakan protokol PROXY

    Jika proksi atau LSB yang disebutkan di atas melaksanakan protokol PROXY, sama ada HTTP atau SSL , HTTP/2, SPDY, WebSocket atau Protokol TCP, nginx boleh mendapatkan alamat IP asal pelanggan dan melakukan beberapa operasi khas berdasarkan alamat IP asal, seperti menyekat akses daripada IP berniat jahat dan memaparkan bahasa atau halaman yang berbeza berdasarkan IP yang berbeza, atau pengelogan yang lebih mudah statistik, dll., sangat berkesan

    Sudah tentu, jika anda ingin menyokong protokol PROXY, terdapat juga keperluan untuk versi nginx Keperluan versi khusus adalah seperti berikut:

    Untuk menyokong protokol PROXY v2, NGINX Plus R16 atau NGINX Open Source 1.13.11 diperlukan
    • Untuk menyokong protokol ROXY untuk HTTP, NGINX Plus R3 atau NGINX Open Source 1.5. .12.
    • Untuk menyokong protokol PROXY sisi klien TCP, NGINX Plus R7 atau NGINX Open Source 1.9.3 diperlukan untuk menyokong protokol PROXY untuk TCP, NGINX Plus R11 atau NGINX Open Source 1.11.4 diperlukan
    • Dalam nginx, anda boleh mendapatkan maklumat klien yang sepadan melalui pembolehubah berikut , khususnya seperti berikut:
    • $proxy_protocol_addr. dan $proxy_protocol_port masing-masing mewakili alamat IP dan nombor port klien asal.

      $remote_addr dan $remote_port mewakili alamat IP dan port pengimbang beban.
    Jika anda menggunakan modul sambungan RealIP, modul ini akan menulis semula nilai $remote_addr dan $remote_port, menggantikannya dengan alamat IP dan nombor port pelanggan asal.

    Kemudian gunakan $realip_remote_addr dan $realip_remote_port untuk mewakili alamat IP dan port pengimbang beban.

    Dalam modul sambungan RealIP, makna $proxy_protocol_addr dan $proxy_protocol_port kekal tidak berubah, yang masih merupakan alamat IP dan nombor port pelanggan asal.

    Mengkonfigurasi dan menggunakan protokol proksi dalam nginx

    Di atas kami menyebut aplikasi asas protokol proksi dalam nginx. Mari kita bercakap tentang cara melaksanakan konfigurasi khusus dalam nginx.

    Dayakan protokol proksi dalam nginx

    Jika nginx anda sudah menjadi versi yang menyokong protokol proksi, maka mendayakan protokol proksi adalah sangat mudah Anda hanya perlu menambah proxy_protocol pada dengar dalam pelayan. Seperti yang ditunjukkan di bawah:

    http {
        #...
        server {
            listen 80   proxy_protocol;
            listen 443  ssl proxy_protocol;
            #...
        }
    }
       
    stream {
        #...
        server {
            listen 112233 proxy_protocol;
            #...
        }
    }
    Salin selepas log masuk

    Semua orang lebih mengenali blok http Dalam nginx, ia mewakili sokongan untuk http/https. Nginx menyediakan sokongan untuk protokol TCP/UDP Fungsi ini dilaksanakan melalui modul aliran, yang agak asing bagi ramai orang.

    Melalui konfigurasi di atas, nginx boleh menyokong protokol proksi dalam kedua-dua protokol tcp/udp dan protokol http/https.

    Gunakan modul IP Real‑IP

    Modul IP Sebenar ialah modul yang disertakan dengan nginx Anda boleh menyemak sama ada nginx mempunyai modul real-ip yang dipasang dengan menjalankan arahan berikut:

    nginx -V 2>&1 | grep -- 'http_realip_module'
    nginx -V 2>&1 | grep -- 'stream_realip_module'
    Salin selepas log masuk

    Jika versi yang anda sedang gunakan tidak mempunyai ip sebenar, jangan risau, anda mungkin perlu menyusun daripada kod sumber pada masa ini.

    Semasa proses penyusunan, kami perlu melaksanakan perintah konfigurasi Dalam arahan konfigurasi ini, anda boleh menentukan fungsi yang hendak didayakan, seperti strim atau http_ssl_module:

    $ ./configure
    --sbin-path=/usr/local/nginx/nginx
    --conf-path=/usr/local/nginx/nginx.conf
    --pid-path=/usr/local/nginx/nginx.pid
    --with-pcre=../pcre-8.44
    --with-zlib=../zlib-1.2.11
    --with-http_ssl_module
    --with-stream
    --with-mail
    Salin selepas log masuk

    Jika anda mahu. dayakan fungsi real-ip , anda boleh menambah:

    --with-http_realip_module
    Salin selepas log masuk

    Jika nginx berjalan di belakang SLB atau proksi, anda boleh menggunakan perintah set_real_ip_from untuk menentukan julat IP proksi atau pelayan pengimbangan beban, seperti yang ditunjukkan di bawah:

    server {
        #...
        set_real_ip_from 192.168.1.0/24;
       #...
    }
    Salin selepas log masuk

    Kemudian kita perlu menggantikan alamat IP proksi atau SLB dengan alamat klien sebenar, kemudian kita boleh menggunakannya seperti ini:

    http {
        server {
            #...
            real_ip_header proxy_protocol;
          }
    }
    Salin selepas log masuk

    Permintaan pemajuan

    Sama ada http atau blok strim, anda mungkin menghadapi arah permintaan Untuk pemajuan huluan seterusnya, untuk huluan, mereka berharap untuk menerima alamat IP klien sebenar dan bukannya alamat proksi atau slb Ini boleh diselesaikan dengan tetapan berikut:

    http {
        proxy_set_header X-Real-IP       $proxy_protocol_addr;
        proxy_set_header X-Forwarded-For $proxy_protocol_addr;
    }
    Salin selepas log masuk
    stream {
        server {
            listen 12345;
            proxy_pass example.com:12345;
            proxy_protocol on;
        }
    }
    Salin selepas log masuk

    http Kaedah tetapan aliran adalah berbeza.

    Log

    Log adalah fungsi yang sangat penting untuk mengesan masalah dan melakukan analisis statistik data.

    Kami boleh merekodkan log yang sepadan dalam blok http dan strim dengan menggunakan pembolehubah $proxy_protocol_addr, seperti ditunjukkan di bawah:

    http {
        #...
        log_format combined '$proxy_protocol_addr - $remote_user [$time_local] '
                            '"$request" $status $body_bytes_sent '
                            '"$http_referer" "$http_user_agent"';
    }
    Salin selepas log masuk
    stream {
        #...
        log_format basic '$proxy_protocol_addr - $remote_user [$time_local] '
                          '$protocol $status $bytes_sent $bytes_received '
                          '$session_time';
    }
    Salin selepas log masuk

    Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi dan menggunakan protokol proksi dalam nginx. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    AI Hentai Generator

    AI Hentai Generator

    Menjana ai hentai secara percuma.

    Artikel Panas

    R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
    3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Tetapan grafik terbaik
    3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
    3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25: Cara Membuka Segala -galanya Di Myrise
    4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

    Alat panas

    Notepad++7.3.1

    Notepad++7.3.1

    Editor kod yang mudah digunakan dan percuma

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    Dreamweaver CS6

    Dreamweaver CS6

    Alat pembangunan web visual

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    Bagaimana untuk membenarkan akses rangkaian luaran ke pelayan tomcat Bagaimana untuk membenarkan akses rangkaian luaran ke pelayan tomcat Apr 21, 2024 am 07:22 AM

    Untuk membenarkan pelayan Tomcat mengakses rangkaian luaran, anda perlu: mengubah suai fail konfigurasi Tomcat untuk membenarkan sambungan luaran. Tambahkan peraturan tembok api untuk membenarkan akses kepada port pelayan Tomcat. Buat rekod DNS yang menunjukkan nama domain ke IP awam pelayan Tomcat. Pilihan: Gunakan proksi terbalik untuk meningkatkan keselamatan dan prestasi. Pilihan: Sediakan HTTPS untuk meningkatkan keselamatan.

    Selamat datang ke nginx! Bagaimana untuk menyelesaikannya? Selamat datang ke nginx! Bagaimana untuk menyelesaikannya? Apr 17, 2024 am 05:12 AM

    Untuk menyelesaikan ralat "Selamat datang ke nginx!", anda perlu menyemak konfigurasi hos maya, dayakan hos maya, muat semula Nginx, jika fail konfigurasi hos maya tidak dapat ditemui, buat halaman lalai dan muat semula Nginx, kemudian mesej ralat akan hilang dan laman web akan menjadi paparan biasa.

    Bagaimana untuk menjana URL daripada fail html Bagaimana untuk menjana URL daripada fail html Apr 21, 2024 pm 12:57 PM

    Menukar fail HTML kepada URL memerlukan pelayan web, yang melibatkan langkah berikut: Dapatkan pelayan web. Sediakan pelayan web. Muat naik fail HTML. Buat nama domain. Halakan permintaan.

    Bagaimana untuk menggunakan projek nodejs ke pelayan Bagaimana untuk menggunakan projek nodejs ke pelayan Apr 21, 2024 am 04:40 AM

    Langkah-langkah penggunaan pelayan untuk projek Node.js: Sediakan persekitaran penggunaan: dapatkan akses pelayan, pasang Node.js, sediakan repositori Git. Bina aplikasi: Gunakan npm run build untuk menjana kod dan kebergantungan yang boleh digunakan. Muat naik kod ke pelayan: melalui Git atau Protokol Pemindahan Fail. Pasang kebergantungan: SSH ke dalam pelayan dan gunakan pemasangan npm untuk memasang kebergantungan aplikasi. Mulakan aplikasi: Gunakan arahan seperti node index.js untuk memulakan aplikasi, atau gunakan pengurus proses seperti pm2. Konfigurasikan proksi terbalik (pilihan): Gunakan proksi terbalik seperti Nginx atau Apache untuk menghalakan trafik ke aplikasi anda

    Bolehkah nodejs diakses dari luar? Bolehkah nodejs diakses dari luar? Apr 21, 2024 am 04:43 AM

    Ya, Node.js boleh diakses dari luar. Anda boleh menggunakan kaedah berikut: Gunakan Cloud Functions untuk menggunakan fungsi dan menjadikannya boleh diakses secara umum. Gunakan rangka kerja Express untuk membuat laluan dan menentukan titik akhir. Gunakan Nginx untuk membalikkan permintaan proksi kepada aplikasi Node.js. Gunakan bekas Docker untuk menjalankan aplikasi Node.js dan dedahkannya melalui pemetaan port.

    Bagaimana untuk menggunakan dan menyelenggara laman web menggunakan PHP Bagaimana untuk menggunakan dan menyelenggara laman web menggunakan PHP May 03, 2024 am 08:54 AM

    Untuk berjaya menggunakan dan menyelenggara tapak web PHP, anda perlu melakukan langkah berikut: Pilih pelayan web (seperti Apache atau Nginx) Pasang PHP Cipta pangkalan data dan sambungkan PHP Muat naik kod ke pelayan Sediakan nama domain dan Pemantauan DNS penyelenggaraan tapak web langkah termasuk mengemas kini PHP dan pelayan web, dan membuat sandaran tapak web, memantau log ralat dan mengemas kini kandungan.

    Cara menggunakan Fail2Ban untuk melindungi pelayan anda daripada serangan kekerasan Cara menggunakan Fail2Ban untuk melindungi pelayan anda daripada serangan kekerasan Apr 27, 2024 am 08:34 AM

    Tugas penting untuk pentadbir Linux adalah untuk melindungi pelayan daripada serangan atau akses haram. Secara lalai, sistem Linux disertakan dengan firewall yang dikonfigurasikan dengan baik, seperti iptables, Uncomplicated Firewall (UFW), ConfigServerSecurityFirewall (CSF), dsb., yang boleh menghalang pelbagai serangan. Mana-mana mesin yang disambungkan ke Internet adalah sasaran yang berpotensi untuk serangan berniat jahat. Terdapat alat yang dipanggil Fail2Ban yang boleh digunakan untuk mengurangkan akses haram pada pelayan. Apakah Fail2Ban? Fail2Ban[1] ialah perisian pencegahan pencerobohan yang melindungi pelayan daripada serangan kekerasan. Ia ditulis dalam bahasa pengaturcaraan Python

    Mari bersama saya untuk mempelajari Linux dan memasang Nginx Mari bersama saya untuk mempelajari Linux dan memasang Nginx Apr 28, 2024 pm 03:10 PM

    Hari ini, saya akan membawa anda memasang Nginx dalam persekitaran Linux Sistem Linux yang digunakan di sini ialah CentOS7.2 Sediakan alat pemasangan 1. Muat turun Nginx dari laman web rasmi Nginx. Versi yang digunakan di sini ialah: 1.13.6.2 Muat naik Nginx yang dimuat turun ke Linux Di sini, direktori /opt/nginx digunakan sebagai contoh. Jalankan "tar-zxvfnginx-1.13.6.tar.gz" untuk nyahmampat. 3. Tukar ke direktori /opt/nginx/nginx-1.13.6 dan jalankan ./configure untuk konfigurasi awal. Jika gesaan berikut muncul, ini bermakna PCRE tidak dipasang pada mesin, dan Nginx perlu melakukannya

    See all articles