Trave
@Trave

Проксирование *.example.com в *.localTLD?

Необходимо проксировать http запросы *.example.com в *.localTLD, при том если somedomain.localTLD не резольвится нужно выкинуть на дефолтную страничку (думаю, это через error page для 502 Bad gateway можно сделать).


Как в nginx, lighttpd, apache сделать такой хитрый прокси с зарание не определенными доменами?
  • Вопрос задан
  • 2575 просмотров
Решения вопроса 1
@Servn
Тогда можно прописать в
server_name default;
if ($host ~* (.*).example.com) {
    set $host_prefix $1;
    rewrite ^.*$ http://$host_prefix.localTLD/ permanent;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Servn
Для Nginx примерно так
server {
    listen 0.0.0.0:80;
    server_name www.example.com;

    location / {
        # Проксируем
        proxy_pass http://somedomain.localTLD;
        # Перехватываем ошибки для обработки перед выдачей клиенту
        proxy_intercept_errors on;

        # дополнительные параметры если нужно
        # например если проксируете на IP обычно нужно указывать хост
        # proxy_set_header Host 'somedomain.localTLD';
        # Или
        # proxy_read_timeout 60;
    }
    location /pages/ {
        root /var/www/;
    }

    # Далее обработка ошибки 
    error_page   502 503 504  /50x.html;
    # Или если нужно ответить 200 и отдать другую страницу то
    # error_page   502 503 504 =200 /pages/page.html;
}

По проксированию
wiki.nginx.org/HttpProxyModule
По ошибкам
wiki.nginx.org/HttpCoreModule#error_page
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы