X-accel umožňuje interní přesměrování na místo určené hlavičkou vrácenou z backendu. To vše díky pluginu nginx_xaccel nakonfigurovat i feed generátor Tiny Tiny RSS.
Díky tomu lze v backendu zpracovávat ověřování, přihlašování nebo cokoli jiného a HTTP server se pak postará o doručení obsahu z přesměrovaného umístění koncovému uživateli, čímž uvolní backend pro zpracování jiných požadavků. Tato funkce je běžně známá jako X-Sendfile.
Tato funkce se trochu liší od standardních modulů protože nespoléhá na směrnice, ale speciálním způsobem zpracovává hlavičky z upstreamu. Funguje to tak, že odešlete hlavičku x-accel.redirect s URI. HTTP server porovná tento URI se svými umístěními, jako by šlo o normální požadavek. Poté obslouží umístění, které odpovídá definovanému kořenovému + URI předanému v hlavičce.
Obsah
Tiny Tiny RSS
Po instalaci x-accel pluginu z nabídky rozšíření přidáme v konfiguračním souboru /classes/config.php jméno pluginu za auth_internal
Config::SMTP_FROM_ADDRESS => [ "noreply@localhost", Config::T_STRING ], Config::DIGEST_SUBJECT => [ "[tt-rss] New headlines for last 24 hours", Config::T_STRING ], Config::CHECK_FOR_UPDATES => [ "true", Config::T_BOOL ], Config::PLUGINS => [ "auth_internal, nginx_xaccel", Config::T_STRING ], Config::LOG_DESTINATION => [ Logger::LOG_DEST_SQL, Config::T_STRING ], Config::LOCAL_OVERRIDE_STYLESHEET => [ "local-overrides.css", Config::T_STRING ],
X-accel
V konfiguračním souboru domény /etc/nginx/sites-available/tiny.local.conf
server { listen 80; ## listen for ipv4; this line is default and implied listen 443 ssl http2; root /var/www/html/tiny.local; index index.php index.html index.htm; access_log /var/log/nginx/tiny_access.log; error_log /var/log/nginx/tiny_error.log info; server_name tiny.local; ssl_certificate /etc/ssl/certs/localhost.crt; ssl_certificate_key /etc/ssl/private/localhost.key; ssl_protocols TLSv1.2 TLSv1.1 TLSv1; location / { index index.php; } location ~ \.php$ { try_files $uri = 404; #Prevents autofixing of path which could be used for exploit include /etc/nginx/fastcgi_params; fastcgi_buffering off; fastcgi_pass unix:/var/run/php/php8.0-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; fastcgi_param MOD_X_ACCEL_REDIRECT_ENABLED on; } location /cache { aio threads; internal; } }
Schéma

Užitečné
Odkaz na Synopse X-Accel.
Článek Nginx SSL Proxy HA.