我已经为运行lighttpd和fastcgi-mono-server2的ubuntu服务器部署了一项Web服务。 .asmx页面正确加载,但当我测试的方法,我得到一个404.使用.asmx使用lighttpd和mono fastcgi
我的web服务被称为Import.asmx和我的方法被称为下载和404回来说import.asmx /下载不存在
使用xsp2相同的服务完美的作品
我认为它是值得做的怎么样/下载得到由lighttpd的/ FastCGI的服务,但不能制定出如何解决它。
我已经为运行lighttpd和fastcgi-mono-server2的ubuntu服务器部署了一项Web服务。 .asmx页面正确加载,但当我测试的方法,我得到一个404.使用.asmx使用lighttpd和mono fastcgi
我的web服务被称为Import.asmx和我的方法被称为下载和404回来说import.asmx /下载不存在
使用xsp2相同的服务完美的作品
我认为它是值得做的怎么样/下载得到由lighttpd的/ FastCGI的服务,但不能制定出如何解决它。
解决了404错误......但现在我有一个500
其实我每MyService.asmx /后的someMethod电话得到这个错误。该方案没有真正]我已经想通了:
location ~ \.(aspx|asmx|ashx|asmx\/(.*)|asax|ascx|soap|rem|axd|cs|config|dll)$ {
fastcgi_pass 127.0.0.1:9001;
index index.html index.htm default.aspx Default.aspx;
fastcgi_index Default.aspx;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
我已经从只ASMX到ASMX /()改变*。确定没有404但现在是500:System.Web.HttpException:方法'POST'在访问文件'/Services/MyService.asmx/MyMethod'时不被允许。
这个发现给了我一些线索,说明nginx不能正确处理这种请求。谷歌搜索了近2小时后,我发现一个solution:
location ~ \.asmx(.*) {
fastcgi_split_path_info ^(.+\.asmx)(.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include /etc/nginx/fastcgi_params;
fastcgi_index Default.aspx;
fastcgi_pass 127.0.0.1:9001;
}
我是不是远离它。只需在当前拥有并正常工作之前添加此位置规则即可。
500错误尚未解决。 –
这个答案完全令人困惑。你的第一个词是“解决”,然后在你提到有一个未解决的错误的评论。你建议“解决方案”,然后是“不是真的”。你的答案是否真的回答了什么? – Farray
它解决了404错误。是与问题有关的主要错误。 –
我有同样的问题。原来是没有找到资产时为404服务的默认指令。删除以下行:
try_files $uri $uri/ =404;
并添加PATH_INFO
在/ etc/nginx的/ fastcgi_params FastCGI的PARAM:
fastcgi_param PATH_INFO $fastcgi_path_info;
问题解决了我。希望能帮助到你。
你好?你可以请张贴方法吗? –
当使用随asp.net2-examples包提供的示例应用程序时,我得到相同的行为,所以它没有什么特别与我的方法 –