Linuxサーバにmonoプラットフォームがインストールされており、これをnginx HTTPサーバーの背後で実行することができました。システムはうまく動作し、.NET固有の動的ファイルを完璧に提供しています。.NETプラットフォームのファイル拡張子とは何ですか?
しかし、必要なファイル(拡張子のみ)をmonoに渡して、静的ファイルを含む他のすべてのファイルと、.NETプラットフォーム上で通常の状況では提供しないファイルを処理させたいと思います。私は以下のように自分のnginxを設定しましたが、.NETプラットフォームについて十分な知識がないので、
を
に渡す必要があり、どのものを禁止する必要があるのかわかりません。ここで
は私のnginxの設定ファイルの関連部分です:
# Do not pass .NET forbidden extensions to anywhere.
# Theese are the extensions that should not be served to the clients
location ~ \.(config|dbml|dll|master|other|forbidden|exts)$ {
deny all;
}
そして、ここではモノに必要な(唯一の必須)ファイルを渡します設定の一部です:
# Theese are the extensions which *must* be handled by mono
location ~ \.(aspx|cs|other|exts|that|must|be|handled|by|mono)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi.conf;
fastcgi_index default.aspx;
}
# Other static files will be handled by nginx.
私が発見しましたWikipedia entryからのいくつかの.NET固有のファイル拡張子ですが、完全ではありません。
だから私の質問は、三つのサブ質問があります。
- .NETプラットフォーム固有のファイル拡張子は何ですか?
- どれがである必要がありますは.NETエンジンで処理する必要がありますか?
- これらのうち、機密情報のうちクライアントに提供してはいけないものはどれですか?
これは共有ホスティング環境になります。そのため、ユーザーには望ましくない影響が発生する可能性があります(ユーザーパスワードやアプリケーション設定など)。
だから、 'System.Web.HttpForbiddenHandler'の種類は、私は右だ、提供してはいけませんか? –
はい、そうです。 –