I have nginx + passenger + rails. Nginx vhost:
passenger_set_header X-Accel-Mapping /home/passenger/.rvm/gems/ruby-3.3.6@updateserver/gems/sidekiq-7.3.9/web/assets/=/sidekiq_assets/;
passenger_pass_header X-Accel-Redirect;
location ^~ /sidekiq_assets/ {
alias /home/passenger/.rvm/gems/ruby-3.3.6@updateserver/gems/sidekiq-7.3.9/web/assets/;
internal;
}
It works fine (of course in Rails production I have config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect'). I tried to set up symlink and use it inside vhost config. Simple symlink script:
#!/bin/bash
APP_ROOT="/home/passenger/updateserver"
LINK="/home/passenger/updateserver/sidekiq_assets"
cd "$APP_ROOT"
GEM_ASSETS="$(bundle show sidekiq)/web/assets"
ln -sfn "$GEM_ASSETS" "$LINK"
and above mentioned form would became this:
passenger_set_header X-Accel-Mapping /home/passenger/updateserver/sidekiq_assets/=/sidekiq_assets/;
passenger_pass_header X-Accel-Redirect;
location ^~ /sidekiq_assets/ {
alias /home/passenger/updateserver/sidekiq_assets/;
internal;
}
but unfortunatelly nginx gives 403 on assets. Symlinks are not accepted in the X-Accel-Mapping path?