LINUX.ORG.RU
ФорумAdmin

http and apache 301

 , ,


0

1

Приветствую.

Возникла проблема при настройке этой связки.

При запросе example.com/ex/ro/ все хорошо редирект правильно отрабатывает, а в случае example.com/ex/ro nginx редиректит на порт апача сюда http://example.com:82/ex/ro/

конфиг nginx

server {
    listen *:80; ## listen for ipv4
    server_name example.com www.example.com;
    #access_log /var/log/nginx/access.log;
    # Перенаправление на back-end
    location / {
    proxy_pass http://127.0.0.1:82/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    #proxy_set_header X-Forwarded-For $remote_addr;
    proxy_connect_timeout 120;
    proxy_send_timeout 120;
    proxy_read_timeout 180;
    }

    location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js|html|txt)$ {
        root /var/www/dev/;

    }
}

Ответ на: комментарий от beastie

привел к такому виду,ситуация не изменилась

server {
    listen *:80; ## listen for ipv4
    server_name example.com;
    #access_log /var/log/nginx/access.log;
    # Перенаправление на back-end
    location / {
        proxy_pass http://127.0.0.1:82/;
        proxy_set_header Host $host;
        proxy_redirect http://$host:82/ /;
        proxy_set_header X-Real-IP $remote_addr;
        #proxy_set_header X-Forwarded-For $remote_addr;
        proxy_connect_timeout 120;
        proxy_send_timeout 120;
        proxy_read_timeout 180;
        #try_files $uri $uri/ index.php;
    }

    location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js|html|txt)$ {
        root /var/www/dev/;

    }
}

tux-eda ()
proxy_pass http://127.0.0.1:82 >>> / <<<

ps: nginx может висеть на внешнем адресе, апач на 127.1:80, это помогает для некоторых упоротых приложений

invokercd ★★★★ ()
Ответ на: комментарий от tux-eda

Не дочитал про 301, а где сам редирект-то? Он делается на апаче?

Вот в принципе самое банальное проксирование на фронт:

location / { 
        proxy_pass http://127.0.0.1:80;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_connect_timeout 600;
        proxy_send_timeout   600;
        proxy_buffering      on; 
        proxy_buffer_size    32k;
        proxy_buffers        64 32k;
        proxy_busy_buffers_size  640k;
}

invokercd ★★★★ ()
Ответ на: комментарий от tux-eda

301 у тебя генерит или приложение или апач. nginx тут не при чем.

bj ()
Ответ на: комментарий от invokercd

proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_buffering on;
proxy_buffer_size 32k;
proxy_buffers 64 32k;
proxy_busy_buffers_size 640k;

ТС, только не делай так. Автор сего опуса может только в бубен бить и прыгать вокруг nginx.

bj ()
Ответ на: комментарий от bj

api на php которая отдаёт тонну инфы включая изображения, говнокод (мопед не мой)

тс это не нужно, но времени редактировать не было :)

invokercd ★★★★ ()
Ответ на: комментарий от invokercd

собственно конфиг апача,на виртуальные хосты,редиректа тут нет, но какого хрена он себя плохо ведет?

<VirtualHost *:81>
   DocumentRoot /var/www/home
        <Directory /var/www/home/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>


</VirtualHost>

<VirtualHost *:82>
   DocumentRoot /var/www/dev
        <Directory /var/www/dev/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>

tux-eda ()
Ответ на: комментарий от invokercd

ради теста создал новую папку и туда index.php с тестовой инфой,проблема остается,если

example.com/test/ - отрабатывает index.php

example.com/test - посылает меня на порт апача example.com:82/test/

куда копать? т.е. это 100% не приложение генерит редирект

tux-eda ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.