服务器在发出请求时没有连接到我的数据库的正确端口

问题描述

我正在运行一个 node/express react 应用程序,使用 mongoDB 作为我的数据库,它在 EC2 实例 AWS 上提供服务。我正在使用 MobaXterm ssh 进入我的服务器。我遇到的问题是,当我去注册/登录时,它发出 http 请求,它没有将请求发送到我的数据库所在的端口:8081。我的前端托管在端口:3000 上,如下所示 url with port。 我的应用程序的主页显示的是公开内容,但它显示的是 should display my content,instead displays html syntax。我使用 PM2 来运行前端和后端,它们是 2 个独立的实例。这是我的 ecosystem.config.js 文件,它被调用以启动前端

module.exports = {
  apps: [
    {
      name: 'frontend',script: 'npx',args: 'serve -s build -l 3000 -n',interpreter: 'none',env: {
        NODE_ENV: 'production',},],}

这是我设置 axios 的 http-common.js 文件

import axios from 'axios';

const apiUrl = process.env.NODE_ENV === 'production' ? process.env.REACT_APP_PRODUCTION : process.env.REACT_APP_DEV;

export default axios.create({
  baseURL: apiUrl,headers: {
    "Content-type": "application/json"
  }
});

这里是我主页上公开内容名称

import http from '../http-common';
import authHeader from './auth-header';

class UserService {
  getPublicContent() {
    return http.get('api/test/all');
  };

  getUserBoard() {
    return http.get('api/test/user',{ headers: authHeader() });
  };

  getModeratorBoard() {
    return http.post('api/test/mod',{ headers: authHeader() });
  };

  getAdminBoard() {
    return http.put('api/test/admin',{ headers: authHeader() });
  };
}

export default UserService;

和我的 .env.production 文件

REACT_APP_PRODUCTION=http://EC2-INSTANCE-URL-NOT-REAL:8081/

您可以在这里看到,它不是使用端口:8081 发送请求,而是将请求发送到端口:3000 GET request to wrong port

**** 我的端口也在 8081 上打开,在 EC2 实例的安全组上 ***

我是后端的新手,所以我不知道该怎么做,或者如何继续,我真的很想让我的项目 CI/CD 工作,然后再尝试取得更多进展。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)