我正在尝试使用重写连接在两个不同端口上运行的两个 nextjs 应用程序,一个是 docker 容器,另一个不是

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

当我在没有作为我的目的地的 docker 容器的 ngrok https url 的情况下运行应用程序时,我得到一个未找到的页面,但是当我使用 ngrok https url 作为所述目的地时,没有其他任何变化。

对于初学者来说,我使用 ngrok 在 docker 容器的 url 上启用 https,但这不起作用。这是我的配置:

async rewrites() {
    return [
      {
        source: 'http://localhost:3000',
        destination: '/ngrok url for docker',
      },
     {
        source: 'http://localhost:3000',
        destination: '/ngrok url for docker',
      },
    ]
  }
docker next.js url-rewriting ngrok app-router
1个回答
0
投票

您似乎正在尝试为应用程序设置 URL 重写,但遇到配置问题。以下是一些需要检查和调整的事项:

  1. 正确的 URL 格式:确保目标 URL 的格式正确。它们应包含完整的 ngrok URL,包括协议 (https://)。
  2. 唯一重写:每个重写规则应该有唯一的源和目的地。您当前的配置有重复的条目。这是修订版:

async rewrites() {
  return [
    {
      source: '/api/:path*',
      destination: 'https://your-ngrok-url/api/:path*', // Replace with your actual ngrok URL
    },
    {
      source: '/another-path/:path*',
      destination: 'https://your-ngrok-url/another-path/:path*', // Replace with your actual ngrok URL
    },
  ];
}

确保 ngrok 正在运行并且 URL 可以访问。您可以通过在浏览器中访问 ngrok URL 来验证这一点。

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