# Nginx代理解决跨域问题
跨域是指浏览器从一个域名的网页去请求另一个域名的资源时,会因为同源策略而被阻止。为了解决跨域问题,可以通过Nginx代理来实现。下面我将为你详细介绍如何使用Nginx代理来解决跨域问题。
## 整体流程
首先让我们了解一下整个解决跨域问题的流程:
| 步骤 | 描述                               |
| ---- | -----            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-04-25 11:35:42
                            
                                171阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            同源: 如果两个页面的协议,端口和域名都相同,则两个页面具有相同的源。 nginx解决同源的原理分析 nginx服务器设置server_name为前端的域名,然后拦截前端的请求,然后将请求代理回服务器。 前端请求nginx服务器属于同源访问,而nginx对服务端的请求不会触发同源策略。 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-08-03 19:42:00
                            
                                986阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            利用nginx解决前端跨域问题浏览器的同源策略含义目的跨域描述跨域的常见解决方法nginx解决跨域正向代理特点举例总结用途反向代理特点举例用途作用正向代理和反向代理图示区别负载均衡描述种类Nginx配置(极简) 浏览器的同源策略浏览器安全的基石是"同源政策"(same-origin policy)。含义同源政策指的是:协议相同域名相同端口相同目的同源政策的目的,是为了保证用户信息的安全,防止恶意            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-19 10:48:59
                            
                                88阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            有时我们会使用一些java或node应用,不想让他们直接监听80端口,这时就需要用到端口转发。或者经常做前后端分离项目的同学应该很有感触,前后端往往不是部署在一台服务器,前端写死调用的固定ip和端口也不太现实,这时通过配置nginx代理转发来灵活实现前后端的交互,是一种可行的办法 目录nginx代理正向代理反向代理对比配置nginx代理转发实现跨域找到并查看当前nginx配置编辑配置后检查检查Ng            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-04-12 11:08:15
                            
                                257阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            跨域请求可以通过JSONP实现,缺点是需要修改被请求的服务器端代码进行配合,稍显麻烦通过在自己服务器上配置nginx的反向代理,可以轻松实现跨域请求思路示例服务器A中有一个页面,想请求服务器B中的api地址(http://www.b.com/api),获取JSON数据服务器A的页面代码<script>$(function (){$.get('/test.do', function (d            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-04-23 16:46:38
                            
                                631阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            上面已经说到,禁止跨域问题其实是浏览器的一种安全行为,而现在的大多数解决方案都是用标签可以跨域访问的这个漏洞或者是技巧去完成,但都少不了目标服务器做相应的改变,而我最近遇到了一个需求是,目标服务器不能给予我一个header,更不可以改变代码返回个script,所以前5种方案都被我否决掉。最后因为我的网站是我自己的主机,所以我决定搭建一个nginx并把相应代码部署在它的下面,由页面请求本域名的一            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2017-12-25 17:52:00
                            
                                154阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            nginx反向代理实现跨域请求 跨域请求可以通过JSONP实现,缺点是需要修改被请求的服务器端代码进行配合,稍显麻烦通过在自己服务器上配置nginx的反向代理,可以轻松实现跨域请求 思路 示例服务器A中有一个页面,想请求服务器B中的api地址(http://www.b.com/api),获取JSON            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-07-22 15:25:15
                            
                                389阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            CORS跨域 (前端不用动,后端设置Access-Control-Allow-Origin等)服务端进行接口请求设置,前端直接调用说明:后台设置前端某个站点进行访问接口代理通过修改nginx服务器配置实现代理转发 前端修改,后端不用 前端请求 a 地址,设置nginx服务,将 a 地址代理到 b 地址。如vue项目中可以在 vue.config.js 中设置:devServer: {    hos            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-02-24 11:58:53
                            
                                399阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            什么是跨域跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。
    所谓同源是指,域名,协议,端口相同。浏览器执行javascript脚本时,会检查这个脚本属于那个页面,如果不是同源页面,就不会被执行。同源策略的目的,是防做一些做奸犯科的勾当。比如说,如果一个银行的一个应用允许用户上传网页,如果没有同源策略,可以编写一个登陆表            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-24 14:12:36
                            
                                204阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在入口文件中加上:header('Access-Control-Allow-Origin:*');            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2018-01-08 14:27:37
                            
                                5454阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            打包vue发版到线上后,如果访问后端接口存在跨域问题,则可以在vue的nginx配置文件中添加对后台接口的反向代理设置,解决跨域问题: location ^~ /api { rewrite ^/api/(.*)$ /api/$1 break; proxy_pass http://api.xx.com ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-08-04 15:58:00
                            
                                872阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            在最近的一个项目中,我打算在页面上实现这样一个功能:在网页上画出某种图形,上传到服务器后,返回一个src地址。这个地址可以用来分享到各种社交媒体。这个功能看似非常简单,但要实现它还需要注意各种小的细节。首先说下思路和技术要点:用canvas来实现页面的画图功能,利用canvas的toDataURL方法可以很方便地将画布的数据保存为dataURIs。用jQuery的ajax方法将图像数据异步提交到后            
                
         
            
            
            
            前端配置代理(解决跨域问题)server {        listen 80;        server_name www.xxxx.org xxxxx.org;            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-11-03 10:18:34
                            
                                182阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            最近配置一个网站,前端是常见的vue3,后端是java+springboot,我正常都是使用域名进配置,但是今天这个域名才申请下来,只有把已经配置好域名的信息,改成IP,但是由于web前端使用了80端口,现在只有配置90端口反向代理到后端。按照正常配置反向代理,但是访问却出现了问题option请求能正常到达,nginx也有日志。但是post的请求没有。找大佬问了一下,都说是跨域问题。有些让配置前端            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                            精选
                                                        
                            2024-05-16 00:43:14
                            
                                1639阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一.跨域出现原因  跨域是指a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,或是a页面为ip地址,b页面为域名地址,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。  跨域问题的根本原因:因为浏览器收到同源策略的限制,当前域名的js只能读取同域下的窗口属性。什么叫做同源策略?就是不同的域名, 不同端口, 不同的协议不允许共享资源            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-06 18:14:55
                            
                                88阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            浏览器同源策略同源策略是Web应用程序安全模型中的一个重要概念。根据该策略,Web浏览器允许第一个Web页面中包含的脚本访问第二个Web页面中的数据,但前提是两个Web页面具有相同的源。同源定义为协议,主机名和端口号相同的组合。此策略可防止一个页面上的恶意脚本通过该页面的文档对象模型访问另一个网页上的敏感数据AJAX规避同源策略三种方式JSONP:介绍可见参考资料;WebCocket:使用ws:/            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-03 17:54:33
                            
                                107阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            主要是说了,通过nginx反向代理方式跨域。一般来说,跨域是浏览器为了安全问题,限制了跨域,那如果是访问的是本系统的链接,再通过nginx反向代理到真正要访问的链接,是不是就可以了呢? 1.定义 跨域是指a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。 注意:跨域限制访问,其实是浏            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-09 11:18:50
                            
                                50阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            //设置允许跨域的 请求源地址//方式一:header("Access-Control-Allow-Origin:            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-02-11 11:59:15
                            
                                215阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            //设置允许跨域的 请求源地址//方式一:header("Access-Control-Allow-Origin: *");//允许所有地址跨域请求//方式二:header("Access-Control-Allow-Origin: http://localhost:8080");//指定某个地址可以跨域请求,这里只能指定一个//方式三:如果要允许多个地址跨域请求可以这样写$origin = ['http://localhost:8080','http://localh            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-12-24 11:52:17
                            
                                91阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            header('Content-Type: text/html;charset=utf-8');header('Access-Control-Allow-Origin:*'); // *代表允许任何网址请求header('Access-Control-Allow-Methods:POST,GET,O            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-05-26 18:38:53
                            
                                937阅读