LINUX.ORG.RU
ФорумAdmin

Apache2 vritualhosts

 ,


0

1

Привет ! Такая тема - На хост машине установлен nginx который проксирует на виртуалку запросы к доменным именам . На виртуальном сервере стоит apache2.4 c 2-мя виртуальными хостами . Это один домен и один его субдомен domain.loc sub.domain.loc . Все в целом работает Но почему то при коннекте напрямую по ip http://111.111.111.111/ выдает содержимое sub.domain.loc

подскажите как быть ?

<VirtualHost *:80> ServerName «domain.loc» ServerAlias "http://www.domain.loc"

DocumentRoot «/var/www/domain.loc» <Directory /> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> ErrorLog domain.loc.log </VirtualHost> конфиг для субдомена идентичный .

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

Допиши строку

ServerAlias 111.111.111.111
где-нибудь пониже ServerName domain.loc

Если хочешь, чтобы вхост, который сейчас отзывается на domain.loc, отвечал вообще на все, кроме sub.domain.loc, то ничего не дописывай, а наоборот, выкинь строку «ServerName domain.loc».

Если не прокатит, то покажи что там у нжынкса в конфигах насчет проксирования.

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

192.168.122.1 proxy.conf proxy_redirect off; proxy_set_header X-Forwarded-Proto $scheme; 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_set_header Refer $http_refer; proxy_set_header Connection close; proxy_pass_header Content-Type; proxy_pass_header Content-Disposition; proxy_pass_header Content-Length; proxy_pass_header Content-encoding;

client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 150; proxy_read_timeout 90; proxy_buffers 32 4k;

sites-enabled/domain.loc server {

listen 80; server_name domain.loc http://www.domain.loc 111.111.111.111;

location / { proxy_pass http://192.168.122.103/; include /etc/nginx/proxy.conf; }

location ~ /\.ht { deny all; } }

192.168.122.103 apache virtual host domain.loc

<VirtualHost *:80> ServerName «domain.loc» ServerAlias "http://www.domain.loc 111.111.111.111"# добавление ip ничего не изменило

DocumentRoot «/var/www/domain.loc» <Directory /> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> ErrorLog domain.loc.log </VirtualHost>

apekoff
() автор топика
Ответ на: комментарий от tazhate

192.168.122.1(111.111.111.111) /etc/nginx/sites-enabled/domain.loc

server {

        listen 80;
        server_name domain.loc www.domain.loc 111.111.111.111;

        location / {
                proxy_pass http://192.168.122.103/;
                include /etc/nginx/proxy.conf;
        }

        location ~ /\.ht {
                deny all;
        }
}

proxy.conf

proxy_redirect          off;
proxy_set_header            X-Forwarded-Proto $scheme;
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_set_header        Refer           $http_refer;
proxy_set_header        Connection close;
proxy_pass_header       Content-Type;
proxy_pass_header       Content-Disposition;
proxy_pass_header       Content-Length;
proxy_pass_header       Content-encoding;

client_max_body_size    10m;
client_body_buffer_size 128k;
proxy_connect_timeout   90;
proxy_send_timeout      150;
proxy_read_timeout      90;
proxy_buffers           32 4k;

192.168.122.103 apache

<VirtualHost *:80>
        ServerName "domain.loc" # удаление - не помогло 
        ServerAlias "www.domain.loc 111.111.111.111"
        DocumentRoot "/var/www/domain.loc"
        <Directory />
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
        </Directory>
        ErrorLog domain.loc.log
</VirtualHost>

apekoff
() автор топика
Ответ на: комментарий от apekoff
ServerAlias "www.domain.loc 111.111.111.111"

^^Так нельзя.^^

ServerAlias 111.111.111.111
ServerAlias www.domain.loc

И покажи вхост для sub.domain.loc на всякий случай.

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

Уррррра ! спасибо , кажется работает на всякий случай конфиг sub.domain.loc

 
<VirtualHost *:80>
        ServerName "sub.domain.loc"
        DocumentRoot "/var/www/sub.domain.loc"
<Directory />
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>
        ErrorLog sub.domain.loc.log
</VirtualHost>

apekoff
() автор топика
Ответ на: комментарий от thesis

кстати в строчку тоже работает, если без кавычек
ServerAlias "http://www.domain.loc 111.111.111.111" - не работает
ServerAlias http://www.domain.loc 111.111.111.111 - работает
и еще нужно ли в nginx оставлять эту запись ?
server_name domain.loc http://www.domain.loc 111.111.111.111;
так как работает и без нее ..
sub.domain.loc

server {

        listen 80;
        server_name sub.domain.loc;

        location / {
                proxy_pass http://192.168.122.103/;
                include /etc/nginx/proxy.conf;
        }

        location ~ /\.ht {
                deny all;
        }
}

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

Да, без кавычек в строчку можно - я дал ссылку, там в примере именно так. Я сам предпочитаю писать в несколько строк, но это вкусовщина.

Насчет нжынкса я уже писал: если у тебя это единственная секция server, то там в сервернейме можно писать что угодно - все равно оно будет срабатывать, потому что больше срабатывать тупо некому. Пишешь себе

listen 80 default_server;
server_name hren_znaet_chto;
и все работает.

Если секций server несколько, то их уже нужно внимательно разводить по именам и/или айпишникам с портами, да.

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