Я решил эту проблему, определив новую переменную среды с именем APP_HOST
в панели управления Google Cloud Run и установив для него значение пример.com
.
Затем я добавил следующую конфигурацию в .htaccess
файл в корне документа:
<IfModule mod_env.c>
PassEnv APP_HOST
</IfModule>
<IfModule mod_headers.c>
RequestHeader set Host %{APP_HOST}e env=APP_HOST
</IfModule>
Это позволило мне переопределить Хозяин
заголовок из пример-8gnm1aqrns-lz.a.run.app
к пример.com
на основе переменной окружения APP_HOST
.
Я мог бы, конечно, жестко закодировать имя хоста, но я думаю, что использование переменной среды дает вам больше гибкости, если вы хотите использовать то же самое. .htaccess
файл в разных контекстах, например на промежуточном сервере.
Редактировать
Вот как вы можете решить это, используя X-переадресованный хост
, например, если вы запускаете виртуальные хосты и вам нужно, чтобы сайт был доступен из нескольких доменов
<IfModule mod_setenvif.c>
SetEnvIf X-Forwarded-Host (.*) REAL_HOST_HEADER=$1
<IfModule mod_headers.c>
RequestHeader set Host "%{REAL_HOST_HEADER}e"
</IfModule>
</IfModule>
Это захватит заголовок из X-переадресованный хост
и установите Хозяин
заголовок на основе значения.