采用proxy_pass实现,例如本地ajax请求/api/user,那么实际请求的是https://www.exam.com/api/user,这样通过服务端就解决跨域的问题了。
server { # 监听端口号,如:1234 listen 80; # 监听地址,可以是域名或ip地址,可正则书写 server_name localhost; # 配置项目根路径资源 location / { add_header Access-Control-Allow-Origin *; # 根目录,可以是项目的本地路径 root /var/wwwroot; # 配置默认主页文件 index index.html index.htm; # 配置单页面应用刷新问题,默认返回主页 try_files $uri $uri/ /index.html; } # 配置接口跨域 # 将 /api/ 路径下的请求代理到 https://www.exam.com/ location /api/ { # 响应头大小 proxy_buffer_size 64k; # 响应体大小 = 数量 * size proxy_buffers 32 64k; # 处于busy状态的buffer大小,一般为 proxy_buffer_size * 2 proxy_busy_buffers_size 128k; # proxy_pass 你要跨域的的接口地址 proxy_pass https://www.exam.com/; } }
网友回复