Las solicitudes de AngularJS a Nodejs se rechazan debido a CORS

Las solicitudes de AngularJS a Nodejs se rechazan debido a CORS

Tengo una aplicación web AngularJS/NodeJs y estoy usando Nginx en DigitalOcean para el servidor, y también estoy usando CloudFlare.

El sitio web estaba funcionando sin problemas. Hace 1 semana visité el sitio web y descubrí que mi índice había sido cambiado a,

¡Bienvenido a nginx!

Si ve esta página, el servidor web nginx se instaló correctamente y funciona. Se requiere configuración adicional.

Para obtener documentación y soporte en línea, consulte nginx.org. El soporte comercial está disponible en nginx.com.

Revisé mis archivos de configuración de Nginx y me di cuenta de que no hay ningún problema con la configuración.Así que eliminé el índice y volví a subir mi índice anterior.y el sitio web está funcionando nuevamente pero,Ya no puedo iniciar sesión y creo que no puedo realizar ninguna solicitud de API.

Todo lo que recibo cuando intento iniciar sesión es este mensaje de la consola.

Firefox

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://dev.website.com/api/auth/login.

(Motivo: falta el encabezado CORS 'Access-Control-Allow-Origin').

Cromo

Acceso a XMLHttpRequest en 'https://dev.supplieson.com/api/auth/login'desde origen'http://dev.supplieson.com' ha sido bloqueado por la política CORS: la respuesta a la solicitud de verificación previa no pasa la verificación de control de acceso: no hay ningún encabezado 'Access-Control-Allow-Origin' presente en el recurso solicitado.

Así se ve mi configuración de Nginx

   server {
        listen 80 default_server;
        listen [::]:80 default_server;
        listen 443 ssl http2 default_server;
        listen [::]:443 ssl http2 default_server;

        root /usr/share/nginx/html;
        index index.html index.htm index.nginx-debian.html;

        #server_name supplieson.com www.supplieson.com;
        include snippets/self-signed.conf;
        include snippets/ssl-params.conf;

        location / {
                try_files $uri $uri/ /index.html =404;
        }

        location ~ ^/images/(.*) {
            alias /usr/share/nginx/api/supplieson_backend/images/$1;
        }

        location /api {
                proxy_pass http://127.0.0.1:3000;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
        }

        error_page 404 /custom_404.html;
        location = /custom_404.html {
                root /usr/share/nginx/html;
                internal;
        }

        error_page 500 502 503 504 /custom_50x.html;
        location = /custom_50x.html {
                root /usr/share/nginx/html;
                internal;
        }

        location ~*  \.(jpg|jpeg|png|gif|ico|css|js)$ {
            expires 1m;
        }
}

aplicación exprés

import cors from 'cors';

app.use((req, res, next) => {
  res.setHeader("Access-Control-Allow-Origin", "*");
  res.setHeader(
    "Access-Control-Allow-Headers",
    "Origin, X-Requested-With, Content-Type, Accept, Authorization"
  );
  res.setHeader(
    "Access-Control-Allow-Methods",
    "GET, POST, PATCH, PUT, DELETE, OPTIONS"
  );
  next();
});

app.use(cors());

información relacionada