我不是100%确定错误的来源,但我认为它与我的nginx配置文件有关。我正在尝试使用restangular从我的Angularjs应用程序中获取PATCH请求,当我尝试在生产服务器上执行此操作时,我从控制台中的开发人员工具中收到以下错误
PATCH https://localhost:9000/api/v1/projects/12 501 (Method PATCH is not defined in RFC 2068 and is not supported by the Servlet API)
根据我到目前为止所读到的内容,nginx默认情况下不允许PATCH请求,这是真的,如果这是真的,你如何允许这种方法类型?
nginx的errors.log是空的,但在我的 access.log 中,我有以下内容,这告诉我nginx及其他东西没有出错?
0.0.0.10 - - [11/Nov/2015:09:09:16 +0000] "PATCH /api/v1/projects/12 HTTP/1.1" 501 0 "https://0.0.0.1/ss/projects" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36" "-"
任何人都可以确认这是否是nginx问题或其他什么,我可以尝试修复它。以下是我在nginx.conf文件中的location(s)
,如果您需要查看其他内容,请与我们联系:
location / {
default_type text/plain;
root /usr/share/nginx/html/ss/dist/;
try_files $uri $uri/ /index.html;
}
location /api {
client_max_body_size 1000m;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080/api;
proxy_read_timeout 360s;
}