Keluarkan nginx 1.16.0

Selepas setahun pembangunan diwakili oleh cawangan stabil baru pelayan HTTP berprestasi tinggi dan pelayan proksi multiprotokol nginx 1.16.0, yang menyerap perubahan terkumpul dalam cawangan utama 1.15.x. Pada masa hadapan, semua perubahan dalam cawangan stabil 1.16 akan berkaitan dengan penghapusan ralat dan kelemahan yang serius. Cawangan utama nginx 1.17 akan dibentuk tidak lama lagi, di mana pembangunan ciri baharu akan diteruskan. Bagi pengguna biasa yang tidak mempunyai tugas untuk memastikan keserasian dengan modul pihak ketiga, disyorkan gunakan cawangan utama, berdasarkan keluaran produk komersial Nginx Plus dibentuk setiap tiga bulan.

Penambahbaikan paling ketara ditambah semasa pembangunan cawangan huluan 1.15.x:

  • Menambah keupayaan untuk menggunakan pembolehubah dalam arahan 'ssl_sijil' dan 'ssl_certificate_key', yang boleh digunakan untuk memuatkan sijil secara dinamik;
  • Menambah keupayaan untuk memuatkan sijil SSL dan kunci rahsia daripada pembolehubah tanpa menggunakan fail perantaraan;
  • Dalam blok "huluanΒ» arahan baharu dilaksanakan Β«rawakβ€œ, dengan bantuannya anda boleh mengatur pengimbangan beban dengan pilihan rawak pelayan untuk memajukan sambungan;
  • Dalam modul ngx_stream_ssl_preread pembolehubah dilaksanakan $ssl_preread_protocol,
    yang menentukan versi tertinggi protokol SSL/TLS yang disokong oleh pelanggan. Pembolehubah membenarkan buat konfigurasi untuk akses menggunakan pelbagai protokol dengan dan tanpa SSL melalui satu port rangkaian apabila memproksi trafik menggunakan modul http dan strim. Contohnya, untuk mengatur akses melalui SSH dan HTTPS melalui satu port, port 443 boleh dimajukan secara lalai kepada SSH, tetapi jika versi SSL ditakrifkan, maju ke HTTPS.

  • Pembolehubah baharu telah ditambahkan pada modul huluan "$upstream_bytes_sent", yang memaparkan bilangan bait yang dipindahkan ke pelayan kumpulan;
  • Kepada modul aliran dalam satu sesi, keupayaan untuk memproses beberapa datagram UDP masuk daripada pelanggan telah ditambah;
  • arahan"proxy_requests", menentukan bilangan datagram yang diterima daripada klien, apabila mencapai pengikatan antara klien dan sesi UDP sedia ada dialih keluar. Selepas menerima bilangan datagram yang ditentukan, datagram seterusnya yang diterima daripada klien yang sama memulakan sesi baharu;
  • Arahan dengar kini mempunyai keupayaan untuk menentukan julat port;
  • Ditambah arahan "ssl_early_dataΒ» untuk mendayakan mod 0-RTT apabila menggunakan TLSv1.3, yang membolehkan anda menyimpan parameter sambungan TLS yang telah dirundingkan sebelum ini dan mengurangkan bilangan RTT kepada 2 apabila menyambung semula sambungan yang telah ditetapkan sebelumnya;
  • Arahan baharu telah ditambahkan untuk mengkonfigurasi keepalive untuk sambungan keluar (mendayakan atau melumpuhkan pilihan SO_KEEPALIVE untuk soket):

    • Β«proxy_socket_keepalive" - mengkonfigurasi tingkah laku "TCP keepalive" untuk sambungan keluar ke pelayan proksi;
    • Β«fastcgi_socket_keepalive" - mengkonfigurasi tingkah laku "TCP keepalive" untuk sambungan keluar ke pelayan FastCGI;
    • Β«grpc_socket_keepalive" - mengkonfigurasi tingkah laku "TCP keepalive" untuk sambungan keluar ke pelayan gRPC;
    • Β«memcached_socket_keepalive" - mengkonfigurasi tingkah laku "TCP keepalive" untuk sambungan keluar ke pelayan memcached;
    • Β«scgi_socket_keepalive" - mengkonfigurasi tingkah laku "TCP keepalive" untuk sambungan keluar ke pelayan SCGI;
    • Β«uwsgi_socket_keepalive" - mengkonfigurasi tingkah laku "TCP keepalive" untuk sambungan keluar ke pelayan uwsgi.
  • Dalam arahan "had_req" menambah "kelewatan" parameter baharu, yang menetapkan had selepas permintaan berlebihan ditangguhkan;
  • Arahan baharu β€œkeepalive_timeout” dan β€œkeepalive_requests” telah ditambahkan pada blok β€œupstream” untuk menetapkan had untuk Keepalive;
  • Arahan "ssl" telah ditamatkan, digantikan dengan parameter "ssl" dalam arahan "dengar". Sijil SSL yang hilang kini dikesan pada peringkat ujian konfigurasi apabila menggunakan arahan "dengar" dengan parameter "ssl" dalam tetapan;
  • Apabila menggunakan arahan reset_timedout_connection, sambungan kini ditutup dengan kod 444 apabila tamat masa tamat;
  • Ralat SSL "permintaan http", "permintaan proksi https", "protokol tidak disokong" dan "versi terlalu rendah" kini dipaparkan dalam log dengan tahap "maklumat" dan bukannya "crit";
  • Menambah sokongan untuk kaedah tinjauan pendapat pada sistem Windows apabila menggunakan Windows Vista dan kemudiannya;
  • Kemungkinan menggunakan TLSv1.3 apabila membina dengan perpustakaan BoringSSL, bukan hanya OpenSSL.

Sumber: opennet.ru

Tambah komen