+
80
-

nginx如何实现html请求跨域访问其他域名?

nginx如何实现html请求跨域访问其他域名?

比如a.exm1.com域名下的html中通过ajax访问b.exam2.con域名,除了jsonp解决外,如何通过nginx实现跨域请求?

网友回复

+
0
-

采用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/;
      }
  }

我知道答案,我要回答