J'ai un serveur Ubuntu 11.10 avec nginx 1.2.1. Je suppose que mon domaine est : domaine.com Nginx sert de reverse proxy : redmine.domain.com => pointe vers webrick redmine sur le port 3000 svn.domain.com => pointe vers apache2 sur le port 8080 domain.com, www.domain.com, et tous les domaines (etc : abc.com, def.com , ghi.com ) => php-fastcgi port 9000
Vous vous demandez peut-être pourquoi je dois accepter tous les domaines (abc.com, def.com , ghi.com ), oui, c'est notre service qui permet aux clients d'utiliser leur domaine dans notre application multi-tanence.
Mais le problème est : Lorsque j'utilise abc.com (j'ai ajouté un enregistrement dans le fichier hosts de mon ordinateur portable), pour accéder à mon serveur, nginx redirige la requête vers notre redmine. Je veux que nginx redirige vers une configuration de type php-fastcgi.
voici ma configuration sur 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;
}
}
Et 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;
}
}
Notez que : domain.com fonctionne parfaitement.
Quelqu'un peut m'aider. Merci beaucoup.