Haproxy перенаправить www на не-www
В настоящее время я использую Haproxy для балансировки нескольких узлов express.js. Я знаю, что можно перенаправить с помощью express.js, но я надеялся сделать это с Haproxy.
Мне было интересно, как я могу сделать постоянное перенаправление с www.mysite.com на mysite.com?
1 ответ
redirect prefix http://example.com code 301 if { hdr(host) -i www.example.com }
Пожалуйста, смотрите документацию правила префикса перенаправления для получения дополнительной информации.
Если вы используете более новую версию HAProxy, то есть, по крайней мере, 1.6, вы можете использовать более общий синтаксис, который позволяет перенаправить любой хост, не только явно названный
http-request redirect prefix http://%[hdr(host),regsub(^www\.,,i)] code 301 if { hdr_beg(host) -i www. }
Здесь мы используем фильтр regsub для динамического генерирования правильного имени хоста без www.
префикс.
Если вы хотите выполнить перенаправление наоборот, то есть добавить www
если его уже нет, правило становится проще:
http-request redirect prefix http://www.%[hdr(host)] code 301 unless { hdr_beg(host) -i www. }