我已經爲運行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包提供的示例應用程序時,我得到相同的行爲,所以它沒有什麼特別與我的方法 –