首页 > 编程知识 正文

nginx反向代理跨域,跨域请求的解决方案

时间:2023-05-05 22:52:40 阅读:161119 作者:1767

前端在开发环境开发项目的过程中会遇到一些跨域问题。 后端已在服务器上处理跨域事务,但由于浏览器的安全机制,提交的请求仍无法通过。 基于这种情况,本文重点介绍了proxyTable和nginx两个常见域之间的处理方法。

1 .要放置1.proxytablevue3.0proxytable,请将devserver : { host : ' localhost ',port: 8080, 必须配置https 33660 } hot only : false,open: true,//代理proxy : { '/API ' : } target 3360 ' http://XXX ', 在/中填写目标接口域名changeorigin3360代理path rewrite : { ' ^/API ' : ' '//重写接口},before : app 必须将dev : {//pathsassetssubdirectory 3360 ' static ',assetsPublicPath: '/'放在config文件中的index.js上。 代理表: { '/API ' : {//代理地址target: 'http://XXX ',changeOrigin:true, //代理path rewrite : { ' ^/API/' : ' '//接口重写} //虽然知道使用/API来匹配请求接口的域名,但是接口名称应该写apprite但是,我实际请求的地址没有api前缀,所以需要用pathRewrite改写地址,去掉接口请求时的前缀)、//variousdevservervite //canbeoverwrittenbyprocess.env.host port :8200 },注意:修复注释后,必须重新使用npm run dev包编译项目才能启用配置。 呃! 呃! 2.nginx proxyTable的方式主要用于解决vue开发环境中的跨域问题,但有时我们也需要处理生产环境中的跨域问题,此时需要利用nginx处理拉。 请参阅。 请参阅。 nginx角色:可独立提供http服务的http服务器虚拟主机:多个域名指向同一个服务,服务根据不同的域名将请求转发给不同的APP服务反向代理:负载均衡,请求不同的服务器解压缩下载的文件后,启动命令行打开web服务器。 【注意】要解决nginx的下载包不可放在有中文目录的文件夹域之间的问题,主要在更改nginx的配置文件nginx.conf上通过更改配置来更改地址传输。 //默认为location/{ root html; #文件根目录index index.html index.htm; #默认起始页}根据上述默认设置,可以将打包vue的文件放在nginx上的html文件夹中中,也可以通过指定root上的打包后的文件夹来访问http服务器最后添加到nginx的配置如下:

location/{ rootd :cross-demodist #直接指向打包的文件index index.html index.htm; } location/API/{将地址代理到proxy _ pass http://localhost :8888/API }这样,域之间就可以了。 请参阅。 请参阅。

一般来说,解决前端在域之间直接使用这些配置就足够了,这样可以更容易理解和理解每个配置项的含义。 更改location后的传送代理的地址即可。

nginx虚拟主机配置项相关参数server { #监听端口listen 80; #服务访问域名server_name localhost; location /api/{ #反向代理地址proxy _ pass http://localhost 33608888/#关闭proxy _ redirect以更改发送到客户端的URL; #后端Web服务器必须在X-Forwarded-For上显示用户的真实IP proxy _ set _ headerx-for $ proxy _ add _ x _ forwarded _ headed-for $ proxy _ x #客户端可以请求的单个文件的最大字节数client_max_body_size 10m; #缓冲代理缓冲客户端请求的最大字节数client_body_buffer_size 128k; #表示nginx阻止HTTP响应的代码至少为400。 proxy_intercept_errors on; # nginx和后端服务器连接超时时间proxy_connect_timeout 90; #后端服务器数据返回超时时间proxy_send_timeout 90; #连接成功后,后端服务器响应超时时间proxy_read_timeout 90; #设置用于保存代理服务器(nginx )的用户头部信息的缓冲区大小proxy_buffer_size 4k; #设置用于读取来自被代理服务器的响应的缓冲区的数量和大小。 #缺省情况下,寻呼大小可能为4k或8k proxy_buffers 4 32k,具体取决于操作系统。 #高负荷时缓冲尺寸(proxy_buffers*2) proxy_busy_buffers_size 64k; 设置写入proxy_temp_path时数据的大小,并设置proxy_temp_file_write_size 64k,以防止在文件传输时工作进程被阻止太多; } } location/API/{ proxy _ pass http://localhost 33608888/proxy _ pass _ request _ headers on; proxy_set_header Connection ' '; client_max_body_size 30m; client_body_buffer_size 128k; proxy_redirect off; proxy_connect_timeout 300; proxy_send_timeout 300; proxy_read_timeout 300; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; proxy _ next _ upstream http _ 502 http _ 504 error invalid _ header; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。