Nginx路径代理传递给后端服务器ASP net无法加载某些CSS和JS文件

时间:2016-11-17 03:29:44

标签: asp.net nginx proxypass

我正在使用Nginx作为运行ASP.NET 4.5的后端Web服务器的Web代理。

ASP服务器动态提供HTML页面,由另一个开发人员管理。

主网页html的script部分显示:

<script src="/bundles/modernizr?v=wBEWDufH_8Md-Pbioxomt90vm6tJN2Pyy9u9zHtWsPo1"></script>
<link href="/Content/css?v=0CO7wbdAKgh6VVE0St8oKqJBcB4RpFIbcQS63jv2JjY1" rel="stylesheet"/>
...
...
<script src="/bundles/MsAjaxJs?v=c42ygB2U07n37m_Sfa8ZbLGVu4Rr2gsBo7MvUEnJeZ81" type="text/javascript"></script>
<script src="Scripts/jquery-1.10.2.min.js" type="text/javascript"></script>
<script src="Scripts/bootstrap.min.js" type="text/javascript"></script>
<script src="Scripts/respond.min.js" type="text/javascript"></script>
<script src="/bundles/WebFormsJs?v=AAyiAYwMfvmwjNSBfIMrBAqfU5exDukMVhrRuZ-PDU01" type="text/javascript"></script>

请注意上述代码中反斜杠/的不一致。

这是我的Nginx代理配置:

    location / {
        proxy_pass http://SOME_CMS_WORDPRESS_SERVER;
    }

    location /aspsite/ {
        proxy_pass http://ASP_NET_SERVER_IP/;
    }

当我尝试访问该网址(例如http://example.com/aspsite/)时,该网页会显示ASP.NET网络服务器上bundles文件夹中缺少的CSS文件和一些JS文件。

但是Scripts个文件都已加载。

我的ASP.NET开发人员告诉我,他不知道如何更改反斜杠,因为他正在使用模板动态生成那些src=xxxx行。

我的问题是:

在这种情况下,是否可以通过nginx代理获取所有CSS和JS文件?

我是否需要更改ASP.NET代码?怎么样?

我是否需要为Nginx添加一些重写规则?怎么样?

0 个答案:

没有答案