[Mono-aspnet-list] nginx + multiple fastcgi-mono-server4 instance => WebResource.axd 404 error
Kornél Pál
kornelpal at gmail.com
Wed Jan 2 14:23:32 UTC 2013
If you have reasons to use Mono or you are already using it, then I
think that fixing Mono is a more reasonable option than moving to MS .NET.
Kornel
On 1/2/2013 3:09 PM, Ovidiu Deac wrote:
> Thanks for the answer.
>
> So the short version is that if I want to have multiple instances of the
> application and do load balancing then I must drop mono and use .NET
> instead ?
>
> Is there any other possibility to achieve load balancing/high
> availability with mono?
>
> On Wed, Jan 2, 2013 at 3:20 PM, Kornél Pál <kornelpal at gmail.com
> <mailto:kornelpal at gmail.com>> wrote:
>
> Based on the source code of Mono's
> System.Web.Handlers.AssemblyResourceLoader I think that the
> implementation is flawed.
>
> I am going to describe the problem, but I think that you should file
> a bug report.
>
> Although it is using a hashing algorithm that always results in the
> same hash for the same script resource, hashes are not generated and
> stored in the dictionaries unless a link is generated, thus a
> resource is not available until a link to it was generated by the
> same AppDomain before.
>
> As such even AppDomain restarts can trigger the problem, although a
> simple refresh on the page fixes it by generating hashes for the web
> resources that subsequently can be retrieved from the server,
> provided that there is only one AppDomain (one process, one server)
> serving the requests.
>
> As I see at least the assembly name should be included in the query
> string, resource hashes can be regenerated based on
> WebResourceAttributes of the assembly.
>
> To prevent loading arbitrary assemblies, the assembly name should be
> encrypted using the machine key and also should be signed using HMAC
> to avoid padding oracle vulnerability similar to CVE-2010-3332 that
> the MS implementation had (encrypted view state, forms
> authentication cookie, and WebResource.axd were all affected).
>
> Kornel
>
>
> On 1/2/2013 12:34 PM, Ovidiu Deac wrote:
>
> I'm running nginx which does load balancing over several
> instances of
> fastcgi-mono-server4
>
> Apparently when a webresource link is handled by a different
> fastcgi-mono-server than the one which originally produced the
> link it
> returns a 404 error.
>
> I have set a persistent machinekey as recommended for webfarms
> but the
> problem still remains.
>
> Any idea what else could be wrong?
>
> If it makes any difference: the application is written with
> F#/WebSharper and we disabled the session state and the forms
> authentication.
>
> Thanks
>
>
> _______________________________________________
> Mono-aspnet-list mailing list
> Mono-aspnet-list at lists.ximian.com
> <mailto:Mono-aspnet-list at lists.ximian.com>
> http://lists.ximian.com/mailman/listinfo/mono-aspnet-list
>
>
More information about the Mono-aspnet-list
mailing list