Вот наиболее актуальная конфигурация с момента добавления вознаграждения: Конфигурация
UPDATE:
Похоже, что при нажатии входа в систему возникает ошибка cors, которая, скорее всего, вызывает проблему , Я читал в других сообщениях, как этот , что мне нужно обновить nginx .conf. Я не смог выяснить, как обновить указанный файл, так как он уже докеризован, предполагая, что это решение моей проблемы. Также может быть связано с отсутствием ссылки на cosmodb в docker -comopose, но когда я добавляю это
cosomsdb:
build: ./backend
ports:
- "10255:10255"
, я все равно получаю ошибку cors. 10255
- это порт cosmosdb
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:3000/api/user/login. (Reason: CORS request did not succeed).
2
ERROR
Object { headers: {…}, status: 0, statusText: "Unknown Error", url: "http://localhost:3000/api/user/login", ok: false, name: "HttpErrorResponse", message: "Http failure response for http://localhost:3000/api/user/login: 0 Unknown Error", error: error }
core.js:6014:19
Я пытаюсь создать образ MEAN-стека docker, но каждый раз, когда я запускаю его, он говорит:
Error: Cannot find module '../backend/middleware/check-auth'
Я не Не думаю, что это правильно копирует мои файлы в контейнер. Я проходил форумы, но не смог найти решение. Я ценю любую помощь!
Dockerfile
FROM node
MAINTAINER Phil
WORKDIR /src
COPY . .
RUN npm install
RUN npm install -g nodemon
EXPOSE 3000
CMD ["npm", "start"]
docker -compose.yml
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
volumes:
- "/Users/Phil/Documents/myapp/myapp-docker/frontend/dist:/usr/share/nginx/html"
node:
build: ./backend
ports:
- "3000:3000"
бэкэнд-пакет. json
{
"name": "backend",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon server.js"
},
"author": "",
"license": "ISC",
"dependencies": {
"aws-sdk": "^2.612.0",
"bcrypt": "^3.0.8",
"body-parser": "^1.19.0",
"create-hash": "^1.2.0",
"crypto": "^1.0.1",
"dotenv": "^8.2.0",
"express": "^4.17.1",
"jsonwebtoken": "^8.5.1",
"mongoose": "^5.8.11",
"mongoose-unique-validator": "^2.0.3",
"multer": "^1.4.2",
"multer-s3": "^2.9.0"
}
}
сервер. js файл
const app = require("./app");
const debug = require("debug")("node-angular");
const http = require("http");
const mongoose = require("mongoose");
var redis = require("redis");
var env = require("dotenv").config();
const normalizePort = val => {
var port = parseInt(val, 10);
if (isNaN(port)) {
e;
// named pipe
return val;
}
if (port >= 0) {
// port number
return port;
}
return false;
};
const onError = error => {
if (error.syscall !== "listen") {
throw error;
}
const bind = typeof port === "string" ? "pipe " + port : "port " + port;
switch (error.code) {
case "EACCES":
console.error(bind + " requires elevated privileges");
process.exit(1);
break;
case "EADDRINUSE":
console.error(bind + " is already in use");
process.exit(1);
break;
default:
throw error;
}
};
console.log("process.env.COSMODDB_USER");
console.log(env.COSMODDB_USER);
mongoose
.connect(
"mongodb://" +
process.env.COSMOSDB_HOST +
":" +
process.env.COSMOSDB_PORT +
"/" +
process.env.COSMOSDB_DBNAME +
"?ssl=true&replicaSet=globaldb",
{
auth: {
user: process.env.COSMODDB_USER,
password: process.env.COSMOSDB_PASSWORD
}
}
)
.then(() => console.log("Connection to CosmosDB successful"))
.catch(err => console.error(err));
const onListening = () => {
const addr = server.address();
const bind = typeof port === "string" ? "pipe " + port : "port " + port;
debug("Listening on " + bind);
};
const port = normalizePort(process.env.PORT || "3000");
app.set("port", process.env.PORT || port);
var server = app.listen(app.get("port"), function() {
debug("Express server listening on port " + server.address().port);
});
![enter image description here](https://i.stack.imgur.com/VvmDi.png)