Я получаю статус 500, когда я делаю запрос к узлу - PullRequest
0 голосов
/ 24 июня 2019

Я загрузил проект стека MEAN для экземпляра aws, созданного Bitnami, и установил angular dist на htdocs, где по умолчанию был index.html.Он работает, когда я запускаю сервер с узла index.js и он связан с mongodb, но когда я пытаюсь выполнить любой запрос, например, войти / зарегистрироваться, я получаю статус 500.

Я попытался дать все разрешения всемфайлы и настроенный .htaccess так:

RewriteEngine On
    # If an existing asset or directory is requested go to it as it is
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
    RewriteRule ^ - [L]
    Options +ExecCGI
    AddHandler cgi-script .cgi .py .php .pl .js
    # If the requested resource doesn't exist, use index.html
RewriteRule ^ /index.html

Ошибка, которую я получаю на консоли, заключается в том, что

Object {headers: {…}, status: 0, statusText: "Unknown Error", url: "http://socializeweb.es:3000/api/login", ok: false, имя:" HttpErrorResponse ", сообщение:" Http error response для http://socializeweb.es:3000/api/login: 0 Неизвестная ошибка ", ошибка: ошибка

Index.jsкод

// Requires and const definition
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
const cors = require('cors');
const mongoose = require('mongoose');
const mongoURI = "mongodb+srv://***:***@socialize-vgoeq.mongodb.net/test?retryWrites=true&w=majority";
const http = require('http');
const normalizePort = require('normalize-port');
const locationPicker = require("location-picker")

// Configuración CORS
app.use((req, res, next) => {
  res.header('Access-Control-Allow-Origin', '*');
  res.header('Access-Control-Allow-Credentials', true);
  res.header('Access-Control-Allow-Headers', 'Authorization, X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Allow-Request-Method');
  res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, DELETE');
  res.header('Allow', 'GET, POST, OPTIONS, PUT, DELETE');
  next();
});

// Middlewares
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
  extended: false
}));

const port = normalizePort(process.env.PORT || '3000');
app.set('port', port);

// Routes
const user_routes = require('./routes/user.routes');
const follow_routes = require('./routes/follow.routes');
const group_routes = require('./routes/groups.routes');
const publication_routes = require('./routes/publication.route');
const group_follows_routes = require('./routes/groupFollows.routes');
const messages = require('./routes/messages.route');
app.use('/api', user_routes);
app.use('/api', follow_routes);
app.use('/api', group_routes);
app.use('/api', publication_routes);
app.use('/api', group_follows_routes);
app.use('/api', messages);


var server = http.createServer(app);
var io = require('socket.io').listen(server);


io.on('connection', (socket) => {

  socket.on('join', function (data) {
    //joining
    if (data.room) {
      socket.leave(socket.room);
      socket.broadcast.to(data.room).emit('left room', {
        user: data.user,
        message: 'ha abandonado la sala.'
      });
    }

    socket.join(data.room);

    console.log(data.user + 'joined the room : ' + data.room);

    socket.broadcast.to(data.room).emit('new user joined', {
      user: data.user,
      message: 'ha entrado en la sala.'
    });
  });

  socket.on('message', function (data) {

    io.in(data.room).emit('new message', {
      user: data.user,
      message: data.message
    });
  })
});


// Database
mongoose.Promise = global.Promise;
mongoose.set('useFindAndModify', false);
mongoose.connect(mongoURI, {
    useNewUrlParser: true
  })
  .then(() => {
    console.log("BD conectada");
    console.log("Node running on " + port)
    // Creación del servidor
    server.listen(port);

  })
  .catch(err => console.log(err));

Соединение между передней и задней панелями осуществляется с помощью подобных сервисов

@Injectable()
export class UserService {
    public url: string;
    public identity;
    public token;
    stats: any;

    constructor(public _http: HttpClient) {
        this.url =  "http://" + window.location.hostname + ":3000/api/";
    }

    signin(user: User, gettoken = null): Observable<any> {
        if (gettoken != null) {
            user.gettoken = gettoken;
        }

        let params = JSON.stringify(user);
        let headers = new HttpHeaders().set('Content-Type', 'application/json');

       }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...