微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我正在运行一个 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 举报,一经查实,本站将立刻删除。