NGINX代理阿贾克斯请求

我不明白这个NGINX服务器configuration有什么问题。 我在端口8081上运行tomcat服务器,在8080上运行jboss,并且在端口80上监听NGINX。我向端口80发送一个ajax请求,并希望proxy_pass到jboss服务器。 Web应用程序在端口8081上运行,并将请求发送到端口80:

server { listen 80; server_name example1.com; root /home/login/users1; access_log /home/nginx/example1/log/access.log; error_log /home/nginx/example1/log/error.log; location /login { add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Headers' 'Content-Type,Accept'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE'; proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504; proxy_redirect off; proxy_buffering off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://192.168.xx.xxx:8080/path/to/api/user/login; } } 

控制台输出是:

 OPTIONS http://192.168.xx.xxx/home/login/users1 405 (Not Allowed) jquery.js:8102 XMLHttpRequest cannot load http://192.168.xx.xxx/home/login/users1. Origin http://192.168.xx.xxx:8081 is not allowed by Access-Control-Allow-Origin. 

AJAX请求:

 $.ajax( { url : 'http://192.168.xx.xxx/home/login/users1/login', type : 'post', contentType : 'application/json', success : function(data) { args.success(data); }, data : args.data, error : args.error, crossDomain: true }); 

我看了这个类似的post,但我没有看到问题,因为我设置add_header“访问控制,允许来源”“*”; 有任何想法吗?

谢谢,

Ĵ