Cara Konfigurasi Spring Boot Tomcat

1. Gambaran keseluruhan

Aplikasi web Spring Boot merangkumi pelayan web pra-konfigurasi dan terbenam secara lalai. Walau bagaimanapun, dalam beberapa keadaan, kami ingin mengubah konfigurasi lalai untuk memenuhi keperluan tersuai.

Dalam tutorial ini, kita akan melihat beberapa kes penggunaan umum untuk mengkonfigurasi pelayan tertanam Tomcat melalui fail application.properties .

2. Konfigurasi Tomcat Tertanam Umum

2.1. Alamat Pelayan dan Pelabuhan

Konfigurasi yang paling biasa yang mungkin ingin kita ubah adalah nombor port :

server.port=80

Sekiranya kami tidak memberikan parameter server.port, ia ditetapkan ke 8080 secara lalai .

Dalam beberapa kes, kami mungkin ingin menetapkan alamat etwork yang harus diikat oleh pelayan. Dengan kata lain, kami menentukan alamat IP di mana pelayan kami akan mendengar :

server.address=my_custom_ip

Secara lalai, nilainya ditetapkan ke 0.0.0.0 yang membolehkan sambungan melalui semua alamat IPv4. Menetapkan nilai lain, misalnya, localhost - 127.0.0.1 - akan menjadikan pelayan lebih selektif.

2.2. Ralat Mengendalikan

Secara lalai, Spring Boot menyediakan halaman web ralat standard . Halaman ini dinamakan Whitelabel . Ia diaktifkan secara lalai tetapi jika kami tidak ingin memaparkan maklumat ralat, kami dapat menonaktifkannya:

server.error.whitelabel.enabled=false

Laluan lalai ke Label Putih adalah / ralat . Kita dapat menyesuaikannya dengan menetapkan parameter server.error.path :

server.error.path=/user-error

Kami juga dapat menetapkan sifat yang akan menentukan maklumat mengenai kesalahan yang ditunjukkan. Sebagai contoh, kita boleh memasukkan mesej ralat dan jejak timbunan:

server.error.include-exception=true server.error.include-stacktrace=always

Tutorial kami Pengecualian Mesej Pengecualian untuk REST dan Sesuaikan Halaman Ralat Whitelabel menerangkan lebih lanjut mengenai menangani kesalahan dalam Spring Boot.

2.3. Sambungan Pelayan

Semasa menjalankan wadah sumber rendah, kami mungkin ingin mengurangkan CPU dan beban memori. Salah satu cara untuk melakukannya adalah dengan membatasi jumlah permintaan serentak yang dapat ditangani oleh aplikasi kami. Sebaliknya, kita dapat meningkatkan nilai ini untuk menggunakan lebih banyak sumber yang ada untuk mendapatkan prestasi yang lebih baik.

Dalam Spring Boot, kita dapat menentukan jumlah maksimum benang pekerja Tomcat:

server.tomcat.max-threads=200

Semasa mengkonfigurasi pelayan web, mungkin juga berguna untuk menetapkan batas waktu sambungan pelayan . Ini menunjukkan jumlah masa maksimum pelayan akan menunggu klien membuat permintaan mereka setelah menyambung sebelum sambungan ditutup:

server.connection-timeout=5s

Kami juga dapat menentukan ukuran maksimum tajuk permintaan:

server.max-http-header-size=8KB

Saiz maksimum badan permintaan:

server.tomcat.max-swallow-size=2MB

Atau ukuran maksimum keseluruhan permintaan pos:

server.tomcat.max-http-post-size=2MB

2.4. SSL

Untuk mengaktifkan sokongan SSL dalam aplikasi Spring Boot kami, kami perlu menetapkan sifat server.ssl.enabled ke true dan menentukan protokol SSL:

server.ssl.enabled=true server.ssl.protocol=TLS

Kita juga harus mengkonfigurasi kata laluan, jenis, dan jalan ke kedai kunci yang memegang sijil:

server.ssl.key-store-password=my_password server.ssl.key-store-type=keystore_type server.ssl.key-store=keystore-path

Dan kita juga mesti menentukan alias yang mengenal pasti kunci kita di kedai kunci:

server.ssl.key-alias=tomcat

Untuk maklumat lebih lanjut mengenai konfigurasi SSL, kunjungi HTTPS kami menggunakan sijil yang ditandatangani sendiri dalam artikel Spring Boot.

2.5. Log Akses Pelayan Tomcat

Log akses Tomcat sangat berguna ketika cuba mengukur jumlah hit halaman, aktiviti sesi pengguna, dan sebagainya.

Untuk mengaktifkan log akses, cukup tetapkan:

server.tomcat.accesslog.enabled=true

Kita juga harus mengkonfigurasi parameter lain seperti nama direktori, awalan, akhiran, dan format tarikh yang ditambahkan ke fail log:

server.tomcat.accesslog.directory=logs server.tomcat.accesslog.file-date-format=yyyy-MM-dd server.tomcat.accesslog.prefix=access_log server.tomcat.accesslog.suffix=.log

3. Kesimpulannya

Dalam tutorial ini, kami telah mempelajari beberapa konfigurasi pelayan tertanam Tomcat yang biasa . Untuk melihat lebih banyak kemungkinan konfigurasi, sila lawati halaman dokumen sifat aplikasi Spring Boot rasmi.

Seperti biasa, kod sumber untuk contoh ini boleh didapati di GitHub.