Nginx解决跨域问题

Posted 怀鑫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx解决跨域问题相关的知识,希望对你有一定的参考价值。

如果在b工程的页面直接发送ajax请求a时会发生跨域问题,那么解决方案为:将A和B同时代理到nginx,由Nginx做请求路由,直接在B工程页面中直接访问Nginx即可
          

 server {
                listen       80;
                server_name  www.chx.com;

                #charset koi8-r;

                #access_log  logs/host.access.log  main;

                location /a {
                    #proxy_connect_timeout 1;
                    #proxy_send_timeout 1;
                    #proxy_read_timeout 1;
                    proxy_pass http://www.a.com:8080/a/;
                    index index.html index.htm;
                    
              }
            location /b {
                    #proxy_connect_timeout 1;
                    #proxy_send_timeout 1;
                    #proxy_read_timeout 1;
                    proxy_pass http://www.b.com:8081/b/;
                    index index.html index.htm;
                }
            }

B工程页面请求:

$("#button").click(function () {
                    $.ajax({
                        url:"http://www.chx.com/a/AServlet?username="+$("#username").val(),
                        type:"GET",
                        success:function (result) {
                            alert(result);
                        }
                    })
                });

 

直接在B工程访问Nginx,由Nginx在内部做转发,以解决跨域问题

 

以上是关于Nginx解决跨域问题的主要内容,如果未能解决你的问题,请参考以下文章

nginx反向代理解决跨域

使用nginx代理解决跨域问题

nginx配置解决前端跨域问题

Nginx 设置cors跨域

Nginx 设置cors跨域

nginx配置反向代理解决vue跨域问题