Каталоги JS и изображений загружаются в localhost, но не при развертывании express

#javascript #node.js #express

Вопрос:

Я использую nginx в качестве веб-сервера с cloudflare в качестве ddns.

Каталог JS и изображений, похоже, загружается просто отлично localhost:5000/ . Однако режиссеры отсутствуют, когда я смотрю его на aarth.in. Существует много решений по таким вопросам, но ни одно из них не сработало для меня. Любая помощь будет признательна!

Мой каталог выглядит следующим образом

 - node_modules
- server.js
- public
    - index.html
    - images/
        - base.png
        - sub
    - scripts
        - base.js
        - sub
    - css
        - base.css
        - sub/
            - sub.css

 

server.js

 const express = require('express');
const app = express();
app.use(express.static("public"));

app.get((req, res) => {
});

app.listen(5000, () => console.log('http://localhost:5000/'));
 

404 ошибки, которые я вижу в консоли браузера.

404 ошибки для JS

Комментарии:

1. Каковы ваши nginx конфигурации?

2. Ваша догадка верна, произошла неправильная конфигурация в nginx

Ответ №1:

Для тех, кто столкнулся с той же проблемой, оказывается, что ошибки server.js не было . Мне пришлось изменить конфигурацию nginx по умолчанию и закомментировать корень.

Вот моя конфигурация:

 server {
        listen 80 default_server;
        listen [::]:80 default_server;                                                                                                        

        #root /var/www/html; --> Commenting this did the trick!

        server_name example.com www.example.com;

        location / {
                proxy_pass http://localhost:YOUR_PORT;
                try_files $uri $uri/ =404;
        }

        #Nginx handles all the static files instead of node
        location ~^/(images|css|fonts|js|icons|scss) {
           expires 1M;
           access_log off;
           add_header Cache-Control "public";
           add_header Access-Control-Allow-Origin *;
           add_header Access-Control-Allow-Methods GET;
           add_header Access-Control-Allow-Headers X-Requested-With,content-type;
           add_header Access-Control-Allow-Credentials true;
           root /home/pi/Documents/Website/public;
       }
}