配置 Nginx 以接受所有域

配置 Nginx 以接受所有域

我有一台带有 nginx 1.2.1 的 Ubuntu 11.10 服务器,假设我的域名是:domain.com Nginx 用作反向代理:redmine.domain.com => 指向端口 3000 上的 webrick redmine svn.domain.com => 指向 apache2 端口 8080 domain.com、www.domain.com 和所有域(等:abc.com、def.com、ghi.com)=> php-fastcgi 端口 9000

您可能想知道为什么我必须接受所有域名(abc.com,def.com,ghi.com),是的,这是我们的服务,允许客户在我们的多域名应用程序中使用他们的域名。

但问题是:当我使用 abc.com (在我的笔记本电脑上的文件主机上添加一条记录) 访问我的服务器时,nginx 将请求重定向到我们的 redmine。我希望 nginx 重定向到类似 php-fastcgi 的配置。

这是我在 Nginx 上的配置:(/etc/nginx/sites-enabled/)

Redmine

server {
    listen   80;
    server_name redmine.sieuthimoi.vn; 

    access_log  /var/log/nginx/access.log;


    location / {
    auth_basic  "Not Allow Here";
    auth_basic_user_file /etc/nginx/htpasswd;
            proxy_pass      http://127.0.0.1:3000;
            include         /etc/nginx/proxy.conf;
    }

}

和 PHP-FastCgi

server {
#listen   80; ## listen for ipv4; this line is default and implied
#listen   [::]:80 default_server ipv6only=on; ## listen for ipv6

root /usr/share/nginx/www/site;
index index.php index.htm index.html;

# Make site accessible from http://localhost/
server_name  domain.com  _;
location ~ .php$ {
    try_files       $uri /index.php
    index index.php;
    fastcgi_pass    127.0.0.1:9000;
        fastcgi_index   index.php;
        fastcgi_param   SCRIPT_FILENAME /usr/share/nginx/www/site$fastcgi_script_name;
        include         fastcgi_params;
}

}

请注意:domain.com 运行完美。

有谁能帮帮我吗?非常感谢

答案1

listen 80 default_server;您应该在 PHP-FastCGI部分中使用server

相关内容