vue项目本地开发使用Nginx配置代理后端接口问题

 更新时间:2022年12月06日 10:45:51   作者:牛先森家的牛奶  
这篇文章主要介绍了vue项目本地开发使用Nginx配置代理后端接口问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

使用Nginx配置代理后端接口

nginx的nginx.conf文件配置如下:

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;	

    server {
        listen       8088;
        server_name  localhost;
		
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
		
		location / {
          proxy_pass  http://127.0.0.1:9528;
        }

        location /dev/api/ {
		  add_header Access-Control-Allow-Origin *;
		  add_header Access-Control-Allow-Methods 'GET,POST,OPTIONS,PUT,DELETE';
		  add_header Access-Control-Allow-Headers 'Token,DNT,X-Mx-ReqToken,keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
          proxy_pass  https://www.xxxx:5002/api/;  #这里填上服务器地址
        }
		
		#location / {
        #  try_files $uri $uri/ /index.html;
        #}
		
        #error_page  404   /404.html;

        # redirect server error pages to the static page /50x.html
        #
		
        error_page   500 502 503 504  /50x.html;
        #location = /50x.html {
        #    root   html;
        #}

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

然后浏览器输入http://localhost:8088 打开项目,看下接口是否调成功;

关于Nginx代理前后端接口

最近在开发公司的前后端分离的项目,前端使用Vue,后端使用SpringBoot,本来我是想用Vue的代理功能,去请求后端接口,但是不知道死活代理不同。

proxy: {
    '/api': {
         target: 'http://127.0.0.1:8981/api/',
          pathRewrite: {
        '^/api': '/'
   }
}

这样的写法各种出现问题,比如404等问题。

后来问了一下我们公司的老员工,他说现在不建议这么配。直接用Nginx代理前后端就好。

# 代理前端的地址
location /data-pages {
    proxy_pass  http://localhost:8021/data-pages/;
}

# 代理后端地址
location /api/ {
    proxy_pass http://localhost:28090/api/;
}

之前我想的是,Vue用的是8021端口,所以后端请求过去就会变成 http://localhost:8021/api/,但是其实不是这样的。后端地址是看浏览器中的url然后拼接过去的。所以经过Nginx代理之后,后端的接口也能通过Nginx代理,这样就能解决问题。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue2之jessibuca视频插件使用教程详细讲解

    vue2之jessibuca视频插件使用教程详细讲解

    Jessibuca进行直播流播放,为用户带来便捷、高效的视频观看体验,下面这篇文章主要给大家介绍了关于vue2之jessibuca视频插件使用的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2024-09-09
  • Vue3实现九宫格抽奖的示例代码

    Vue3实现九宫格抽奖的示例代码

    这篇文章主要为大家详细介绍了如何利用Vue3实现九宫格抽奖的功能,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的可以了解一下
    2022-09-09
  • vue3使用vueup/vue-quill富文本、并限制输入字数的方法处理

    vue3使用vueup/vue-quill富文本、并限制输入字数的方法处理

    这篇文章主要介绍了vue3使用vueup/vue-quill富文本、并限制输入字数,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • Vue实现英文字母大小写在线转换功能

    Vue实现英文字母大小写在线转换功能

    在Web开发中,字符串处理是常见的需求之一,特别是在国际化应用中,对于文本的格式化处理尤为重要,本文将介绍如何使用Vue.js来构建一个简单的在线英文字母大小写转换工具,需要的朋友可以参考下
    2024-09-09
  • Vue.js实现时间轴功能

    Vue.js实现时间轴功能

    这篇文章主要为大家详细介绍了Vue.js实现时间轴功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • vue中el-tree 横向滚动条的实现

    vue中el-tree 横向滚动条的实现

    本文详细介绍了在Vue框架中使用el-tree组件创建横向滚动条的方法,通过代码示例和步骤说明,帮助开发者理解和实现横向滚动功能,感兴趣的可以了解一下
    2024-09-09
  • vue项目实现图形验证码

    vue项目实现图形验证码

    这篇文章主要为大家详细介绍了vue项目实现图形验证码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • Vue项目中缺少明显入口文件的原因及解决策略

    Vue项目中缺少明显入口文件的原因及解决策略

    本文探讨了Vue项目中缺少明显入口文件的原因,并提供了解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-11-11
  • vue2文件流下载成功后文件格式错误、打不开及内容缺失的解决方法

    vue2文件流下载成功后文件格式错误、打不开及内容缺失的解决方法

    使用Vue时我们前端如何处理后端返回的文件流,下面这篇文章主要给大家介绍了关于vue2文件流下载成功后文件格式错误、打不开及内容缺失的解决方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • Vue Element前端应用开发之组织机构和角色管理

    Vue Element前端应用开发之组织机构和角色管理

    本篇文章继续深化Vue Element权限管理模块管理的内容,介绍组织机构和角色管理模块的处理,使得我们了解界面组件化模块的开发思路和做法,提高我们界面设计的技巧,并减少代码的复杂性,提高界面代码的可读性,同时也是利用组件的复用管理。
    2021-05-05

最新评论