У меня есть веб-сайт, и я хочу указать указанный c путь https://example.com/foo/ приложению (Rails), которое я размещаю на Heroku. Я смог успешно указать этот путь с помощью конфигурации NGINX ниже:
rewrite ^/foo$ /foo/ permanent;
location ~ ^/foo/(.*)$ {
resolver 8.8.8.8;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass https://my-app-name.herokuapp.com/$1$is_args$args;
}
Однако все мои активы и пакеты javascript в моем приложении rails указывают на основной URL https://example.com/assets/123.css вместо https://example.com/foo/assets/123.css
Каков «лучший» способ исправить это? Должен ли я написать еще один proxy_pass
для /assets/
и /packs/
, как показано ниже, или есть более элегантное решение?
rewrite /assets$ /assets/ permanent;
location ~ /assets/(.*)$ {
resolver 8.8.8.8;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass https://my-app-name.herokuapp.com/$1$is_args$args;
}
Любая помощь приветствуется
Обновление
Я полагаюсь на хостинговую компанию, которая вносит эти изменения в конфигурацию, и хочу исправить ее прямо перед запросом, в противном случае я бы просто протестировал ее сам.
Кроме того, я не надеваю не понимаю, нужны ли мне все proxy_set_header
записи для запроса активов, и могу ли я просто получить proxy_pass https://my-app-name.herokuapp.com/$1$is_args$args;