路由指向同一个位置nginx

问题描述 投票:0回答:1

在我的申请中我有两条路线

  1. /login 路由由 angular 管理以显示实际的登录页面
  2. /login 用于 laravel 在后端对用户进行身份验证

在开发中,这两个应用程序在两个不同的端口上运行,因此 Angular 将在

mystie.com/login:4200

提供登录页面

和 laravel 将数据发送到

mystic.com/login:8000
以验证用户 所以这里没有问题。

在生产中,我有一个具有此配置的 nginx 服务器

server {
    include mime.types;
    root /var/www/html/myForum/forum-frontend/dist/forum-frontend;
    index index.html;

    server_name myforum.dev www.myforum.dev;

    location / {
        try_files $uri $uri/ /index.html;
    }

    location ~/(api|sanctum|login) {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

此配置的问题在于,当导航到 mystie.com/login 时,nginx 会将信息转发给 laravel 而不会显示实际的登录页面。

如果我从第二个位置删除登录

mystic/login
将由角度处理并且服务器不会将登录信息转发给 laravel

我知道这有点棘手,但我找不到管理这些责任的解决方案

angular laravel nginx
1个回答
0
投票

在 Laravel 的

listen 8000;
块中添加一个
server
指令

© www.soinside.com 2019 - 2024. All rights reserved.