Страница 1 из 1

nginx apache vhost

Добавлено: 2012-07-26 13:55:50
doker
День добрый !
подскажите пжл,начал разбираться с nginx и никак не соображу в чем ошибка
есть Апач с виртуальными доменами (несколько)
есть nginx как прокси к одному из апачевских доменов.
домен апача

<VirtualHost *:80>
ServerName mercurial.domen.ru
ServerAlias http://mercurial.domen.ru
DocumentRoot "/www/1"

<Directory /www/1>
,,,,,
</Directory>
</VirtualHost>

домен nginx
server {
listen qbook.domen.ru:80;
server_name mercurial.domen.ru;

location / {
proxy_pass http://10.0.2.36:80;
proxy_redirect off;
proxy_set_header Host $host;
}
}

10.0.2.36, mercurial.domen.ru- адрес апача
qbook.domen.ru - адрес nginx

nginx все проксирует, но до апача недоходит целевой домен, пишет 404 и скидывает на дефолтовый сайт

ткните пжл, куда копать

Re: nginx apache vhost

Добавлено: 2012-07-26 14:06:54
GhOsT_MZ
Рабочий конфиг nginx:

Код: Выделить всё

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Uri $request_uri;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_buffers                   16 32k;
    proxy_busy_buffers_size         128k;
    proxy_temp_file_write_size      128k;
    proxy_connect_timeout           45;
    proxy_send_timeout              360;
    proxy_read_timeout              360;
    proxy_redirect     off;

    include /etc/nginx/conf.d/*.conf;

    server {
        listen XXX.XXX.XXX.XXX:80;
        server_name  domain.org www.domain.org domain.in domain.org;
        
        if ($host ~ "^(www\.domain\.in)|^(domain\.(in|org))") {
            rewrite ^/(.*)$  http://www.domain.org/$1  permanent;
        }

        access_log  /var/log/nginx/domain.org_access.log;
        error_log  /var/log/nginx/domain.org_error.log;
        root /var/www/vhosts/domain.org/htdocs;
        index index.html index.php;

        location /announce {
            rewrite  announce  announce.php  permanent;
        }

        location /status {
            stub_status     on;
            access_log      off;
        }

        location /cleanup.php {
            proxy_read_timeout 86400;
            proxy_pass http://127.0.0.1:8080;
        }

        location ~ (|/\.php$) {
            proxy_pass http://127.0.0.1:8080;
        }
    }

Re: nginx apache vhost

Добавлено: 2012-07-26 14:29:17
doker
rewrite ^/(.*)$ http://www.domain.org/$1 permanent;
вот эта директиве переписывает урл и узер редиректится на него , так ?

а мне надо чтобы юзер работал через nginx (там фильтры будут)

Re: nginx apache vhost

Добавлено: 2012-07-26 14:32:55
GhOsT_MZ
Я дал на 100% работающий конфиг nginx в режиме фронтенда... Ведь задача использовать nginx именно таким образом?

Re: nginx apache vhost

Добавлено: 2012-07-26 14:35:52
doker
да, использовать именно так

Re: nginx apache vhost

Добавлено: 2012-07-26 14:49:28
GhOsT_MZ
А включить мозг и попробовать директивы, схожие по смыслу в своем конфиге не судьба? Или здесь платная техническая поддержка, где скажут какую кнопку нажать нужно?

Re: nginx apache vhost

Добавлено: 2012-07-26 14:56:00
doker
подскажи ,пожалуйста, кнопочку включения мозга

Re: nginx apache vhost

Добавлено: 2012-07-27 12:31:37
doker
проксирование к вирт доменам я победил
proxy_set_header Host mercurial.dimain.ru:80;
тестовые странички , сайты и тд работает на ура, а вот целевое приложение redmine , работающее на апече через пасенжер (ради которого все и затевалось) перекидывает все на свой урл .... пока непонятно как победить
если у кого есть идеи и желание помоч (и они не такие светоносные как у предыдущего оратора ) с благодаростью выслушаю