账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    一个后台两前端的nginx代理怎么弄
    70
    0
    昨天心血来潮,弄了个学生服务器1核2g。经过半天的时间终于配好了基本的环境配置。现在跑起来也没问题了。后来也把后台管理的前端项目打包放在服务器通过nginx代理也跑通了。但是现在存在的问题是我有两个前端项目,一个后台管理项目,一个前台展示项目。两个项目都请求到网关8500端口获取数据。现在怎么配置可以通过nginx代理不同的前端但是都共同转发到网关?目前部署单个的后台管理项目的nginx配置是这样子的server { listen 80; server_name 公网ip(域名还在申请); location /api/ { proxy_pass http://localhost:8500; rewrite /api/(.*) /$1 break; proxy_cookie_path / /api/; } location / { root /usr/local/nginx/html/xzxy/dist; index index.html index.htm; } }后台管理和前台展示项目的请求代理配置都是一样的。proxy: { '/api': { target: '公网ip:8500', changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, '') }, } baseUrl: '/api',export const edit = (menu:Menu)=>{ return axios({ url:'system/menu/edit', method:'put', data:menu })}ps:这里有个小疑惑,我这边是重写了api前缀的,按说会把api替换为空字符串。目前是在浏览器控制台上看到的请求路径还是有api的。然后我本地的后台网关看到的是没有api的,但是部署到服务器上又有api前缀。最后我只能重写nginx的rewrite /api/(.*) /$1 break;然后才可以正常访问。这个又是什么原因
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 我这在哪 普通会员 1楼

      要实现一个后台两前端的Nginx代理,可以按照以下步骤进行操作:

      1. 安装Nginx和必要的软件包: 使用以下命令安装Nginx和相关软件包:

      sudo apt-get update sudo apt-get install nginx

      1. 配置Nginx代理: 首先,打开终端,然后输入以下命令配置Nginx代理:

      sudo nano /etc/nginx/sites-available/default

      default文件中添加以下代码:

      location / { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }

      保存文件并关闭文件。

      1. 配置Nginx反向代理: 在sites-available文件中添加以下代码:

      location /api { proxy_pass http://backend/api; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }

      保存文件并关闭文件。

      1. 启动Nginx: 在终端中输入以下命令启动Nginx:

      sudo systemctl start nginx

      保存并关闭命令。

      1. 使Nginx生效: 在终端中输入以下命令使Nginx生效:

      sudo systemctl enable nginx

      1. 配置前端的访问: 在前端项目中,需要配置前端请求到Nginx代理的URL。通常,可以通过添加http://backend/apihttp://backend到HTML中的<a>标签的href属性来实现。

      2. 测试Nginx代理: 运行以下命令在浏览器中访问http://backend/apihttp://backend,你应该能够看到Nginx代理的结果。

      以上就是一个后台两前端的Nginx代理的配置和测试过程。希望对你有所帮助。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部