?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
  
cors两种用法-header
 
方法一:
 
1. 创建cors文件并写入内容
> vim /usr/local/nginx/conf/cors
//------------------------------- cors文件内容 begin
#跨域
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'HEAD, GET, POST, PUT, PATCH, DELETE, OPTIONS, TRACE';
add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept, Cache-Control, Token';
#add_header 'Server' 'Apache/2.4.23 (Win32)';
if ($request_method = 'OPTIONS') {
    return 204;
}
//------------------------------- cors文件内容 end
 
2. 域名解析配置文件引入
> cat /usr/local/nginx/conf/vhost/api-xxx.test.jsx6.com.conf
//--------------------------------编辑配置文件内容如下    begin
server {
    listen       80;
    server_name api-xxx.test.jsx6.com;
    underscores_in_headers on;
    root /data/www/demo;
    index index.html index.htm index.php;
    charset utf-8;
 
    #上面生成的cors文件必须在 server { 这里面引入 },所以我们在这里引入  --!!!
    include /usr/local/nginx/conf/cors;
 
    access_log  /var/log/nginx/access.log  json;
    #access_log  /var/log/nginx/access.log  json buffer=16k;
 
    location / {
        if (!-f $request_filename) {
            rewrite ^/(.+)$ /index.php?url=$1 last;
                    break;
            }
        #try_files $uri $uri/ /index.php?$query_string;
    }
 
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        default_type text/html;
        return 403 '{"message":"Remote server exception","status":500}';
    }
 
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass   unix:/var/run/php7.1-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
    # deny access to .htaccess files, if Apache's document root
    location ~ /\. {
        deny all;
    }
}
//--------------------------------编辑配置文件内容如下    end
 
 
 
方法二:
 
1. 创建cors_d文件并写入内容
> vim /usr/local/nginx/conf/cors_d
//------------------------------- cors_d文件内容 begin
#跨域
if ($request_method = 'OPTIONS') {
    add_header 'Access-Control-Allow-Origin' '*';
    add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
    add_header 'Access-Control-Allow-Headers' 'Content-Type,Accept,serverKey,Authorization,token,XDEBUG_SESSION_START';
    add_header 'Server' 'JSX/1.0';
 
    #add_header 'Access-Control-Max-Age' 1728000;
    #add_header 'Content-Type' 'text/plain charset=UTF-8';
    #add_header 'Content-Length' 0;
 
    #more_set_headers 'Server:JSX/1.0';
    return 200 '{"rlt":true}';
}
//------------------------------- cors_d文件内容 end
 
2. 域名解析配置文件引入
> cat /usr/local/nginx/conf/vhost/api-xxx.test.jsx6.com.conf
//--------------------------------编辑配置文件内容如下    begin
server {
    listen       80;
    server_name api-xxx.test.jsx6.com;
    underscores_in_headers on;
    root /data/www/demo;
    index index.html index.htm index.php;
    charset utf-8;
 
    access_log  /var/log/nginx/access.log  json;
    location / {
 
        #上面生成的 cors_d 文件必须在这里引入,注意需要跟方法一区分一下! 所以我们在这里引入  --!!!
        include /usr/local/nginx/conf/cors_d;
 
        if (!-f $request_filename) {
            rewrite ^/(.+)$ /index.php?url=$1 last;
                    break;
            }
        #try_files $uri $uri/ /index.php?$query_string;
    }
 
    location /fast/ {
        #return 303;
        #上面生成的 cors_d 文件必须在这里引入,注意需要跟方法一区分一下! 所以我们在这里引入  --!!!
        include /usr/local/nginx/conf/cors_d;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_index index.php;
        fastcgi_pass unix:/var/run/stone-server-fpm.sock;
        include fastcgi_params;
    }
 
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        default_type text/html;
        return 403 '{"message":"Remote server exception","status":500}';
    }
 
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass   unix:/var/run/php7.1-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
    # deny access to .htaccess files, if Apache's document root
    location ~ /\. {
        deny all;
    }
}
//--------------------------------编辑配置文件内容如下    end
 
  


---------------------------------------------------------------------------------------------
不忘初心 方得始终!

唯有志存高远,方能风行天下。

道之所存,虽千万人吾往矣! 情之所钟,虽千万里吾念矣~

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。