Langkau ke kandungan
ToolMug

Penjana Konfigurasi Nginx

Masukkan domain, pilih jenis laman dan tandakan ciri yang diperlukan untuk mendapatkan konfigurasi pelayan nginx yang sedia digunakan. Ia meliputi proksi terbalik (aplikasi Node.js, Python dan Java), laman statik, aplikasi satu halaman (React, Vue) dan PHP, bersama ubah hala HTTP-ke-HTTPS dan www, WebSocket, gzip serta cache fail statik.

Berjalan dalam pelayar anda — apa yang anda masukkan tidak dimuat naik

HTTPS
Tambahan

0 mengekalkan lalai nginx sebanyak 1 MB.

Dapatkan sijil dahulu, contohnya: certbot certonly --webroot -w /var/www/letsencrypt -d example.com -d www.example.com. Kemudian jalankan nginx -t dan muat semula nginx.

Cara menggunakan

  1. Masukkan domain dan pilih jenis laman — alamat upstream untuk proksi terbalik atau akar web untuk jenis lain.
  2. Tandakan HTTPS, HTTP/2, HSTS, ubah hala www, gzip, cache dan pengepala keselamatan mengikut keperluan.
  3. Salin atau muat turun konfigurasi ke /etc/nginx/conf.d/, jalankan nginx -t dan muat semula nginx.

Penerangan pilihan

Proksi terbalik
Meneruskan ke alamat upstream dan menghantar Host, X-Real-IP, X-Forwarded-For serta X-Forwarded-Proto supaya bahagian belakang melihat IP dan skema sebenar pelawat.
Aplikasi satu halaman
Laluan yang tidak dikenali kembali kepada index.html, jadi penghala mod sejarah (React Router, Vue Router) tidak menghasilkan 404 apabila dimuat semula.
HTTPS
Laluan sijil mengikuti lalai certbot (Let's Encrypt) dan permintaan HTTP menerima ubah hala 301 kepada HTTPS. HTTP/2 menggunakan bentuk listen 443 ssl http2 yang berfungsi pada semua versi nginx.
HSTS
Memberitahu pelayar supaya menggunakan HTTPS sahaja untuk domain dan semua subdomainnya selama setahun. Pastikan setiap subdomain menyokong HTTPS dahulu, jika tidak semuanya tidak dapat dicapai.

Contoh: aplikasi satu halaman dengan HTTPS dan www

Dengan domain example.com, Aplikasi satu halaman, HTTPS, HTTP/2 dan Jawab www. juga dan arahkan semula ditandakan (serta Pemampatan Gzip, Pengepala keselamatan dan Cache panjang untuk fail statik dimatikan supaya ringkas), penjana menulis tiga blok server:

  1. Port 80 menjawab kedua-dua nama, mengekalkan /.well-known/acme-challenge/ boleh dicapai untuk pembaharuan sijil dan menghantar semua yang lain ke https://example.com$request_uri dengan 301.
  2. Port 443 untuk www.example.com menggunakan sijil yang sama dan memulangkan 301 ke domain tanpa www.
  3. Port 443 untuk example.com menyajikan laman:
    root /var/www/example.com;
    index index.html;

    location / {
        try_files $uri $uri/ /index.html;
    }

Kedua-dua blok HTTPS menuju ke /etc/letsencrypt/live/example.com/fullchain.pem dan privkey.pem, membenarkan TLS 1.2 dan 1.3 serta menggunakan cache sesi kongsi 10 MB dengan tamat masa sesi satu hari. Baris try_files itulah yang menjadikan muat semula pada laluan sisi klien seperti /settings memulangkan aplikasi dan bukannya 404.

Soalan lazim

Mengapa nginx -t memberi amaran parameter http2 sudah tidak digunakan?

Sejak nginx 1.25.1, arahan berasingan http2 on; lebih disarankan, tetapi versi 1.24 — yang disertakan dengan Ubuntu 24.04 dan lain-lain — tidak memahaminya. Bentuk listen ... http2 berfungsi di semua tempat; versi baharu hanya mencetak amaran.

Adakah sijil perlu merangkumi www?

Ya, apabila ubah hala www dihidupkan. Minta kedua-dua nama, contohnya certbot -d example.com -d www.example.com.

Muat naik gagal dengan 413 Request Entity Too Large?

nginx membenarkan badan permintaan 1 MB secara lalai. Tetapkan Saiz muat naik maksimum kepada nilai yang diperlukan, seperti 100.

Sambungan WebSocket gagal melalui proksi?

Proksi mesti meneruskan pengepala Upgrade dan Connection. Menandakan sokongan WebSocket menambahnya dan menaikkan tamat masa baca kepada satu jam.

Privasi

Alat ini berjalan sepenuhnya dalam pelayar anda. Fail dan teks anda diproses pada peranti anda dan tidak pernah dimuat naik ke pelayan kami.

Alat berkaitan