如何在话语中设置跨域规则?

所以我使用下面的页面来收集用户的信息,并将其发送到forums.awake-gaming.com/posts进行讨论,以便为我发帖。

url:awake-gaming.com/join-us.htmlurl,我发送的信息:forums.awake-gaming.com/posts

正如所料,我需要在forums.awake-gaming.com上为这样的ajax调用设置一些跨域规则。

以下是我的nginxconfiguration文件,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; } } 

但是当我在awake-gaming.com/join-us.html提交表单时popup控制台时,出现错误:

  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. 

我也尝试重新启动nginx服务器,但事情并没有什么不同。 另外ajax调用不会返回成功,但数据通过POST成功发送。 我如何解决这个问题?