小编Joh*_*ter的帖子

使用 nginx / chrome 的跨源资源共享 (CORS)

我有一个具有以下细分的网站:

api.example.com 
developers.example.com 
example.com
Run Code Online (Sandbox Code Playgroud)

我想同时允许example.comdevelopers.example.com做出AJAX请求api.example.com

到目前为止api.example.com,我的 nginx 配置(由 unicorn 提供的 Rack 应用程序)如下所示:

upstream app_server {
  server unix:/tmp/api.example.com.sock fail_timeout=0;
}

server {
       listen 80;
       server_name api.example.com;
       access_log /home/nginx/api.example.com/log/access.log;
       error_log /home/nginx/api.example.com/log/error.log;
       location / {
         add_header 'Access-Control-Allow-Origin' 'http://example.com,http://developers.example.com';
         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_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header Host $http_host;
         proxy_redirect off;
         proxy_pass http://app_server;
       }

}
Run Code Online (Sandbox Code Playgroud)

根据我的阅读,这应该足以满足我正在尝试做的事情。

选项的回应:

HTTP/1.1 200 OK
Server: nginx/0.7.67
Date: Sat, 28 …
Run Code Online (Sandbox Code Playgroud)

nginx

14
推荐指数
1
解决办法
4万
查看次数

标签 统计

nginx ×1