Ты путаешь термины редирект и проксирование. Если нужен редирект, то:
location /files {
root /path/to/files/directory;
}
location /google {
return 301 https://www.google.com;
}
Но, судя по описанию, тебе нужно проксирование:
location /files {
root /path/to/files/directory;
}
location ~* /google(?<my_uri>.*) {
proxy_set_header Host www.google.com;
proxy_set_header X-Forwarded-Proto https;
proxy_pass https://www.google.com/$my_uri;
proxy_read_timeout 60;
proxy_ssl_name www.google.com;
proxy_ssl_server_name on;
proxy_ssl_session_reuse off;
proxy_redirect off;
}
При таком раскладе откроется индексная страница www.google.com, только без картинок и прочей статики, так как в HTML коде вписаны пути относительно корня сайта. Если делать проксирование в
location / { ... }
, то работать будет, как ожидается.
PS
Когда занимаешься подобными вещами проверяй работоспособность с помощью
curl
, так как браузер агрессивно кеширует ответы. В частности, если целевой сервер ответит редиректом, то редирект будет закеширован и даже если конфиг, в итоге, окажется рабочим, ты будешь ломать голову почему результат не такой, как ожидается.