Назад | Перейти на главную страницу

Запрос ajax прокси NGINX

Я не понимаю, в чем проблема с этой конфигурацией сервера NGINX. Я запускаю сервер tomcat на порту 8081, jboss на 8080, и NGINX прослушивает порт 80. Я отправляю запрос ajax на порт 80 и хочу, чтобы он был proxy_pass на сервере jboss. Веб-приложение работает на порту 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
});

Я просмотрел этот похожий пост, но не вижу проблемы, так как устанавливаю add_header 'Access-Control-Allow-Origin' '*'; Любые идеи?

Спасибо,

J