以下是nginx.conf的一个例子:
server {
listen 8040;server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root D:/Users/Administrator/workspace;
index index.html index.htm;
}
location /files/ {
root D:/statusfile/data;
index index.html index.htm;
}
location /data/ {
root D:/statusfile/data;
index index.html index.htm;
}
location /check/ {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://10.10.1.77:8088;
}
location / {
root D:/Users/Administrator/workspace;
index index.html index.htm;
}
当访问的地址是http://localhost:8040/index.html的时候 ,实际上是访问D:/Users/Administrator/workspace/index.html
location /files/ {
root D:/statusfile/data;
index index.html index.htm;
}
当访问的地址是http://localhost:8040/files/upload/sheet/201707251516571.png的时候,实际上是访问D:/statusfile/datafiles/upload/sheet/201707251516571.png
location /check {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://10.10.1.77:8088;
}
proxy_pass: nginx的代理转发
当访问的地址是http://localhost:8040/check的时候,实际上是访问http://10.10.1.77:8088/check
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
以上的配置为跨域的配置。
注意:location 后面那个虚拟路径的配置location /files/ location /check这些 必须是捕获访问路径的第一级,就是端口号后面接着的路径,不能捕获第二级或者之后的。