Como configurar regras de domínio cruzado no discurso?

1

Então eu uso a seguinte página para coletar informações do usuário e enviá-las para forums.awake-gaming.com/posts para o discurso fazer um post para mim.

URL da página: awake-gaming.com/join-us.html Url, onde eu envio as informações: forums.awake-gaming.com/posts

Como esperado, preciso configurar algumas regras de domínio cruzado para essas chamadas ajax forums.awake-gaming.com.

O seguinte é minha configuração nginx para discourse, etc / nginx / conf.d / discourse.conf

    # Additional MIME types that you'd like nginx to handle go in here
 types {
text/csv                    csv;
}

 upstream discourse {
 server unix:/var/www/discourse/tmp/sockets/thin.0.sock;
 server unix:/var/www/discourse/tmp/sockets/thin.1.sock;
 server unix:/var/www/discourse/tmp/sockets/thin.2.sock;
 server unix:/var/www/discourse/tmp/sockets/thin.3.sock;
   }

  server {

 listen 80;
 gzip on;
 gzip_min_length 1000;
 gzip_types application/json text/css application/x-javascript;

 server_name forums.awake-gaming.com;

 sendfile on;

 keepalive_timeout 65;

 # maximum file upload size (keep up to date when changing the corresponding site setting)
 client_max_body_size 2m;

 # path to discourse's public directory
 set $public /var/www/discourse/public;



 location / {
   root $public;
add_header Access-Control-Allow-Origin  "http://awake-gaming.com/join-us.html";
add_header Access-Control-Allow-Methods: "GET, PUT, POST, DELETE, OPTIONS";
add_header Access-Control-Allow-Headers: "Content-Type, Authorization, X-Requested-With";

location ~ ^/assets/ {
  expires 1y;
  add_header Cache-Control public;
  add_header ETag "";
  break;
}

location ~ ^/uploads/ {
  expires 1y;
  add_header Cache-Control public;
  add_header ETag "";

  ## optional upload anti-hotlinking rules
  #valid_referers none blocked mysite.com *.mysite.com;
  #if ($invalid_referer) {
  #  return 403;
  #}

  # custom CSS
  location ~ /stylesheet-cache/ { try_files $uri =404; }
  # images
  location ~* \.(gif|png|jpg|jpeg|bmp|tif|tiff)$ { try_files $uri =404; }
  # thumbnails & optimized images
  location ~ /_optimized/ { try_files $uri =404; }

  # attachments must go through the rails application to get the right content-disposition header
  proxy_set_header X-Sendfile-Type X-Accel-Redirect;
  proxy_set_header X-Accel-Mapping $public/=/downloads/;
  proxy_pass http://discourse;
  break;
}

try_files $uri @discourse;
 }

 location /downloads/ {
internal;
alias $public/;
 }

 location @discourse {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;

proxy_pass http://discourse;
 }

  }

Mas quando eu abro o console ao enviar o formulário em awake-gaming.com/join-us.html, o erro get:

 XMLHttpRequest cannot load http://forums.awake-gaming.com/posts. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://awake-gaming.com' is therefore not allowed access. 

Eu também tentei reiniciar o servidor nginx, mas a coisa não foi diferente. Também a chamada ajax não retorna sucesso, mas os dados são enviados com sucesso via POST. Como posso resolver isso?

    
por Abhishek Gupta 19.01.2014 / 09:17

0 respostas