2011-08-05 5 views
2

NginxでMono ASP.NETを設定したいが、インデックスの優先順位が機能しないようだ。 次のように私はhttp://www.mono-project.com/FastCGI_Nginxからの例を使用している場合:FastCGIとNginx間違ったインデックスファイルの優先度

location/{ 
     root /srv/www/htdocs/; 
     index index.htm index.html default.aspx Default.aspx; 
     fastcgi_index Default.aspx; 
     fastcgi_pass 127.0.0.1:9000; 
     include /etc/nginx/fastcgi_params; 
    } 

は、その後、私はhttp://localhost/を訪問するとき、それは常にDefault.aspxを要求し、そのようなファイルが存在しない場合、Webサーバーは404エラーが表示されます。

私は質問を検索することで答えを見つけることを試みた、と私はこの1つを見つけた:、だから私は、私は同じ問題を満たしていると思います asp mvc home root not working with mono, fastcgi and nginx

、私は次のように設定ファイルを変更:

location/{ 
     root /srv/www/htdocs/; 
     index index.htm index.html default.aspx Default.aspx; 
     fastcgi_index /; 
     fastcgi_pass 127.0.0.1:9000; 
     include /etc/nginx/fastcgi_params; 
    } 

htdocsフォルダに.aspxファイル(など)が1つしかない場合でも、Webサーバは優先度として.aspxファイルを要求しますが、それでもindex.htmの前に表示されます。その後、

そして、私は以下のように、すべてのFastCGIの関連設定を削除:

location/{ 
     root /srv/www/htdocs/; 
     index index.htm index.html default.aspx Default.aspx; 
    } 

のみインデックスの優先順位が正しく動作し、このように。

誰が私に教えてくれるのですか。なぜこれが起こりますか? FastCGIに関連する設定ファイルを変更する必要がありますか?

答えて

2

monoserveのfastcgi設定が有効なパスを指していることを確認してください。

fastcgi-mono-server2 /applications=www.domain1.xyz:/**:/var/www/www.domain1.xyz**/ /socket=tcp:127.0.0.1:9000 

/var/www/www.domain1.xyz/は、Webアプリケーションのルートディレクトリを指している必要があります。