Деплою приложение через докер на debian 11, прокси через nginx:
server {
listen 80;
listen [::]:80;
root /usr/share/nginx/html/dist/frontend; # Этой папки уже нет, нужно ли оно вообще?
index index.html index.htm;
server_name my-domain.ru www.my-domain.ru;
location / {
rewrite /(.*) /$1 break;
proxy_pass http://127.0.0.1:4200;
proxy_pass_header Server;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
client_max_body_size 5000m;
}
location @proxy {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_pass http://my-domain.ru;
proxy_redirect off;
}
}
На ноде использую cors:
const HOST = process.env.HOST; // === DEV: http://localhost:4200 - работает, PROD: http://my-domain.ru - не работает, уточню, на этом сервере не подключен https
app.use(cors({
origin: [HOST],
exposedHeaders: ['Authentication']
}));
Получаю ошибку не просто что cors не пускает, а контекста:
Access to XMLHttpRequest at 'localhost:4000/socket.io/?EIO=4&transport=polling&...' from origin 'my-domain.ru' has been blocked by CORS policy: The request client is not a secure context and the resource is in more-private address space `local`.
Приложение запускается через compose:
version: '3.6'
# Deploys MongoDB with customization scripts and container with Mongo client
# https://fabianlee.org/2018/05/20/docker-using-docker-compose-to-link-a-mongodb-server-and-client/
#
# usage:
# sudo docker-compose build
# sudo docker-compose up
services:
my-mongodb:
image: 23065a99dd4d
container_name: my-mongodb
ports:
- 27017:27017
environment:
- MONGO_INITDB_DATABASE=you_need
- MONGO_INITDB_ROOT_USERNAME=
- MONGO_INITDB_ROOT_PASSWORD=
volumes:
# seeding scripts
- ./mongo-entrypoint:/docker-entrypoint-initdb.d
# named volumes
- mongodb:/data/db
- mongoconfig:/data/configdb
networks:
- test
my-mongoclient:
# build will get tagged with 'image'
image: 51168326ea2c
container_name: my-mongoclient
ports:
- 4200:4200
command: node dist/static_hoster/static.js
networks:
- test
my-mongoserver:
# build will get tagged with 'image'
image: 51168326ea2c
container_name: my-mongoserver
ports:
- 4000:4000
command: node dist/backend/server.js
networks:
- test
depends_on:
- my-mongodb
volumes:
# default dir on Ubuntu: /var/lib/docker/volumes
mongodb:
mongoconfig:
networks:
test:
driver: bridge
Как это можно исправить?