当前位置: 代码网 > it编程>前端脚本>Vue.js > 使用nginx实现一个端口和ip访问多个vue前端的全过程

使用nginx实现一个端口和ip访问多个vue前端的全过程

2024年09月27日 Vue.js 我要评论
前言:由于安全组要求,前端页面只开放一个端口,但是项目有多个前端,此前一直使用的是一个前端使用单独一个端口进行访问,现在需要调整。需要实现:这里以80端口为例,两个前端分别是:project1,pro

前言:由于安全组要求,前端页面只开放一个端口,但是项目有多个前端,此前一直使用的是一个前端使用单独一个端口进行访问,现在需要调整。

需要实现:这里以80端口为例,两个前端分别是:project1,project2。

例如:访问项目1:192.168.1.10:80/project1

访问项目2:192.168.1.10:80/project2

需要的配置:1、nginx配置;2、vue前端代码修改

1、nginx配置

server {
        listen       80;
        server_name  localhost;
        charset utf-8;
        
        # 配置默认访问前端
        location / {
            root /usr/local/html/project1/dist/;
            index index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
        
        # 项目2前端
        location /project2{
            alias /usr/local/html/project2/dist/;
            index index.html;
            try_files $uri $uri/ /project2/index.html;
        }

        # 项目1前端
        location /project1{
            alias /usr/local/html/project1/dist/;
            index index.html;
            try_files $uri $uri/ /project1/index.html;
        }

        # 项目1-api接口地址代理
        location /project1-prod-api/ {
            if ($request_method = options ) {
               add_header access-control-allow-origin *;
               add_header access-control-allow-methods get,post,put,delete,options;
               add_header access-control-allow-headers *;
               return 200;
            }
            proxy_redirect off;
            proxy_set_header host $host;
            proxy_set_header x-real-ip $remote_addr;
            proxy_buffer_size 128k;
            proxy_buffers 32 32k;
            proxy_busy_buffers_size 128k;

            proxy_pass http://192.168.1.10:8080/;
        }

        # 项目2-api接口地址代理
        location /project2-prod-api/ {
            if ($request_method = options ) {
               add_header access-control-allow-origin *;
               add_header access-control-allow-methods get,post,put,delete,options;
               add_header access-control-allow-headers *;
               return 200;
            }
            proxy_redirect off;
            proxy_set_header host $host;
            proxy_set_header x-real-ip $remote_addr;
            proxy_buffer_size 128k;
            proxy_buffers 32 32k;
            proxy_busy_buffers_size 128k;

            proxy_pass http://192.168.1.10:8081/;
        }
}

2、vue前端代码修改

两个项目的vue代码均要修改

修改文件:在项目根目录:.env.production

# 页面标题
vue_app_title = 某某平台

# 生产环境配置
env = 'production'

# 生产环境
vue_app_base_api = '/project1-prod-api'

在项目根目录:vue.config.js

修改publicpath参数

3、验证修改

重新打包构建vue前端代码,修改nginx配置,并重启nginx,防火墙允许nginx配置的端口。

总结

到此这篇关于使用nginx实现一个端口和ip访问多个vue前端的文章就介绍到这了,更多相关nginx一个端口和ip访问多个vue内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com