Middleware: Rack
Last updated
Last updated
Rack β ΡΡΠΎ ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅Π± ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ (rails, sinatra, ...) ΠΈ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ (puma, nginx, unicorn, ...). ΠΡΠΎ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ middleware ΡΠ»ΠΎΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΠ°ΡΡ Π½Π° ΡΠ΅Π±Ρ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ:
ΠΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΈΠ΅ΠΉ
ΠΡΠΎΡΠ°ΠΉΠ»ΠΈΠ½Π³
ΠΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ (ΠΎΡΠ±ΡΠΎΡΠΈΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΏΠΎ IP ΠΈΠ»ΠΈ ΠΈΠ·-Π·Π° Π»ΠΈΠΌΠΈΡΠΎΠ²)
ΠΠ°ΠΏΡΠΎΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ
rack-attack β ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠ° Π΄Π»Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΡΠΎΡΠ»ΠΈΠ½Π³Π°
Rails on Rack: https://guides.rubyonrails.org/rails_on_rack.html
ΠΠ»Π°Π²Π½ΡΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ ΡΠ°ΠΉΠ» Π΄Π»Ρ Rack β Rails.root/config.ru. ΠΠ°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ΅ΡΠ΅Π· rake:
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΡΡ middlewares:
ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΡ middlewares β https://guides.rubyonrails.org/rails_on_rack.html#internal-middleware-stack
ΠΠΊΠ»ΡΡΠΈΡΡ ΠΈΠ»ΠΈ Π²ΡΠΊΠ»ΡΡΠΈΡΡ/Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΡ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ middleware ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π· ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ config.middleware
Π² ΡΠΊΡΠΈΠΏΡΠ°Ρ
-ΠΊΠΎΠ½ΡΠΈΠ³Π°Ρ
Π² ΠΏΠ°ΠΏΠΊΠ΅ config
.