при доступе: http://example.com/somefolder -> http://example.com:8080/somefolder
Я попробовал это:
http {
port_in_redirect off;
Есть идеи?
при доступе: http://example.com/somefolder -> http://example.com:8080/somefolder
Я попробовал это:
http {
port_in_redirect off;
Есть идеи?
server
блок, содержащийproxy_pass
директиву. То, что вам, вероятно, понадобится, будетproxy_redirect
директивой - подтверждение вашей конфигурации должно подтвердить.port_in_redirect
сon
наoff
вам может потребоваться перезапустить его.port_in_redirect
вообще не работаетОтветы:
Я просто столкнулся с той же проблемой и на
port_in_redirect off;
самом деле работал на меня, просто убедитесь, что вы используете его внутриserver {}
блока.источник
port_in_redirect
внутриlocation
.Это должно решить проблему. Добавить
proxy_redirect
директиву сразу послеproxy_pass
директивыproxy_redirect http://example.com:8080/ http://example.com/;
источник
Если кто-то все еще испытывает эту проблему, имея apache за настройкой обратного прокси-сервера nginx, вы можете попробовать ff:
Моя установка состоит в том, что я позволяю Apache прослушивать 127.0.0.1:8083 и разрешать запросы прокси-сервера nginx к нему.
источник
У меня была такая же проблема с моей настройкой nginx + Apache. Apache, кажется, перенаправляет на свой собственный порт (работает на 8080), а nginx на 80-м.
В моей настройке это сделало бесконечный цикл перенаправления для обычных URL:
Вместо этого свяжите возвращаемые данные с портом 80, вот так:
Вот мой серверный блок nginx:
При такой установке подстановочных знаков все запросы, которые nginx не имеет серверного блока, передаются в Apache.
источник
Если у кого-то еще возникла эта проблема - статья здесь: http://www.linuxquestions.org/questions/linux-server-73/strange-nginx-redirects-without-trailing-slash-930876/ решила проблему для меня ,
Мне пришлось добавить дополнительный заголовок в прокси.
Убедитесь , что у вас есть набор хост для
$http_host
а также , что Вы установили ,X-Forwarded-Host
чтобы$http_host
нравится ниже:источник
Я думаю, что этого простого примера достаточно:
источник
http://wiki.codemongers.com/NginxHttpCoreModule#port_in_redirect
Надеюсь, это то, что вы ищете.
источник
У меня была аналогичная проблема.
Может быть, вы должны использовать директиву,
proxy_set_header
чтобы установить хост и местоположение заголовков. В моей конфигурации я добавилproxy_set_header Location $host:80
; и все запросы возвращают порт 80 сейчас.источник
Эта проблема вызвана тем, что Nginx автоматически переводит относительный путь в абсолютный, верно?
Есть способ сказать Nginx не переводить, вы добавляете пробел перед косой чертой:
ngx.redirect(" /foo")
источник
Я бы рекомендовал вместо этого добавить это в свой блок сервера:
Это было, когда вы переходите на example.com/wp-admin, он идет на example.com/wp-admin, а не на example.com:8080/wp-admin/, и если вы, например, находитесь на CloudFlare DNS, он скажет сайт не работает
Я использую Ubuntu, Nginx и Varnish, и теперь это прекрасно работает, а не отключает port_in_redirect.
Чтобы добавить, обязательно перезапустите nginx после:
источник
Добавление
absolute_redirect off;
в блок местоположения работает для меня.источник