верните server_name *; # пожалуйста :)
Alexey V. Karagodov
kav at karagodov.name
Tue May 27 23:45:42 MSD 2008
ситуация:
server {
listen 80 default accept_filter=httpready;
include include/rewrite;
include include/location_error;
set $_document_root /srv/www/vhosts/service/core/;
root $_document_root;
server_name
#список проксируемых виртуальных
хостов
www.somesite.ru
www.somesite2.ru
www.somesite3.ru
www.company.ru
;
location / {
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 X-Real-URI $request_uri;
proxy_set_header X-Real-Request-Scheme $scheme;
proxy_redirect false;
proxy_pass http://http-cluster$request_uri;
}
}
server {
listen 80;
server_name
secure.company.ru
secure2.company.ru
;
rewrite ^(.*) https://$host$uri$is_args$args permanent;
}
server {
listen 80;
server_name .somesite.ru;
rewrite ^(.*) http://www.somesite.ru$1 permanent;
}
server {
listen 80;
server_name .somesite2.ru;
rewrite ^(.*) http://www.somesite2.ru$1 permanent;
}
server {
listen 80;
server_name .somesite3.ru;
rewrite ^(.*) http://www.somesite3.ru$1 permanent;
}
server {
listen 80;
server_name *;
rewrite ^(.*) http://www.company.ru$1 permanent;
}
на server_name *; естественно выдаёт ошибку в
конфиге
единственный work-around вот такой:
server_name
127.0.0.1
192.168.4.1
192.168.4.2
10.20.30.40
10.20.30.41
~^(.*)$
;
т.е. перечисляю все ИП адреса сервера и
регекспом делаю аналог *
всем этим бредом, который я называю
конфигом, я хочу добиться следующего:
при обращении к несуществующему
виртуальному хосту следует рерайт на
сайт компании
при обращении к сайтам клиентов,
следует рерайт на красивое имя www. и тд
(если это нужно)
виртуальные хосты в отдельном конфиге
вот наверно единственное, для чего
нужно server_name *; ...
More information about the nginx-ru
mailing list