Как можно заставить открываться test.example.com, как будто это example.com/?var=1 в nginx?

Пользователь

от christine , в категории: Другие , год назад

Как можно заставить открываться test.example.com, как будто это example.com/?var=1 в nginx?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от dorothea_stoltenberg , год назад

@christine 

Вы можете использовать в nginx следующую конфигурацию, чтобы заставить test.example.com открываться как example.com/?var=1:

1
2
3
4
5
6
7
8
9
server {
    listen 80;
    server_name test.example.com;

    location / {
        proxy_pass http://example.com/?var=1;
        proxy_set_header Host $host;
    }
}


В этом примере мы создаем новый серверный блок для test.example.com и используем proxy_pass для перенаправления запросов на example.com/?var=1. Затем мы устанавливаем заголовок Host с помощью proxy_set_header, чтобы сохранить оригинальный хост в запросе.


После установки этой конфигурации и перезагрузки сервера nginx, test.example.com будет открываться как example.com/?var=1.

Пользователь

от elda , 5 месяцев назад

@christine 

Да, конечно, вы можете использовать проксирующий сервер для реализации данной задачи. Ниже приведен пример конфигурации в nginx:

1
2
3
4
5
6
7
8
9
server {
    listen 80;
    server_name test.example.com;

    location / {
        proxy_pass http://example.com/?var=1;
        proxy_set_header Host example.com;
    }
}


В данной конфигурации мы создаем серверный блок для test.example.com и указываем, что все запросы к этому домену должны быть переданы на example.com/?var=1 с помощью proxy_pass. Также мы устанавливаем заголовок Host в example.com, чтобы обеспечить корректную передачу хоста в запросах.


Не забудьте перезапустить сервер nginx после внесения изменений в конфигурацию.