DigitalOcean上带有NGINX的ExpressJS上的路由错误和域名问题

DigitalOcean上带有NGINX的ExpressJS上的路由错误和域名问题,express,nginx,digital-ocean,nginx-reverse-proxy,nginx-config,Express,Nginx,Digital Ocean,Nginx Reverse Proxy,Nginx Config,在这一点上,我简直是在胡思乱想,想弄清楚我做错了什么。我在第7天无法使用Express和Nginx让digital ocean正常工作。尝试我所有的资源,阅读我能找到的每一个教程,并且翻阅stackOverflow数百次,我仍然觉得我处于一个死胡同中,对什么是错的感到困惑 我得到的最远的结果是只能访问express on addresshttp://上提供的单个页面 问题1 什么有效:仅http://来自路由器。获取('/') 什么不起作用:www.myDomain.app或myDomain.

在这一点上,我简直是在胡思乱想,想弄清楚我做错了什么。我在第7天无法使用Express和Nginx让digital ocean正常工作。尝试我所有的资源,阅读我能找到的每一个教程,并且翻阅stackOverflow数百次,我仍然觉得我处于一个死胡同中,对什么是错的感到困惑

我得到的最远的结果是只能访问express on address
http://
上提供的单个页面


问题1 什么有效:仅
http://
来自
路由器。获取('/')

什么不起作用:
www.myDomain.app
myDomain.app
连接到我正在服务的网页。
什么也不起作用:
https://
(https/ssl)


问题2 当我尝试路由到
/page1
/page2
时,只有我提供的第一个页面起作用(在
http://
上),我得到一个
未找到
错误。这似乎是由express生成的错误

错误消息
Not Found
  404
NotFoundError: Not Found
    at /home/test/app.js:28:8
    at Layer.handle [as handle_request] (/home/test/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/home/test/node_modules/express/lib/router/index.js:317:13)
    at /home/test/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/home/test/node_modules/express/lib/router/index.js:335:12)
    at next (/home/test/node_modules/express/lib/router/index.js:275:10)
    at /home/test/node_modules/express/lib/router/index.js:635:15
    at next (/home/test/node_modules/express/lib/router/index.js:260:14)
    at Function.handle (/home/test/node_modules/express/lib/router/index.js:174:3)
    at router (/home/test/node_modules/express/lib/router/index.js:47:12)

问询处 水滴:
Ubuntu 20.04上的NodeJS 12.18.0

域:

  • NS记录:正确设置为digitalocean
  • A-Record
    @
    www
    -->指向我的IPv4
    NodeJS:
    Express
    已使用
    其他:
    快速生成器
    用于样板文件

文件夹 Nginx.conf
default.conf
位置:
/etc/nginx/sites available/

符号链接到:
/etc/nginx/sites enabled
作为文件:
默认值

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

    #listen 443 ssl default_server;
    #listen [::]:443 ssl default_server;
    # include snippets/snakeoil.conf;

    root /home/empa/;
    # index index.html index.htm index.nginx-debian.html;
    # Enabling the above line seems to break NGINX for some reason. 
    
    server_name myDomain.app www.myDomain.app;

    location ^~ /test/public/ {
        # gzip_static on;
        # expires 12h;
        # add_header Cache-Control public;
  }

    location / {
        proxy_pass http://localhost:3030/;
        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;

        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_redirect off;
    }

}

快车(路由器)
//=====================================
const express=require('express');
const router=express.router();
const request=require('request');
const path=require('path');
常数fs=要求('fs');
const jp=require('jsonpath');
// =====================================
/*获取第1页*/
router.get('/page1',函数(req、res、next){
res.render('index',{title:'Page 1',message:'看在上帝的份上,请你已经开始工作了'});
});
/*获取第2页*/
router.get('/page2',函数(req、res、next){
res.render(“”,{title:'page2',message:'Stack Overflow是我最后的希望。我为此疯狂不已');
});
module.exports=路由器;

快车(主)
var createError=require('http-errors');
var express=需要(“express”);
var path=require('path');
var cookieParser=require('cookie-parser');
var记录器=需要('morgan');
var端口=3030;
var indexRouter=require('./路由/索引');
var usersRouter=require(“./routes/users”);
var-app=express();
//查看引擎设置
app.set('views',path.join('views');
应用程序集(“查看引擎”、“hbs”);
应用程序使用(记录器(“开发”);
使用(express.json());
use(express.urlencoded({extended:false}));
使用(cookieParser());
app.use(express.static(path.join(uu dirname,'public'));
应用程序使用(“/”,索引路由器);
app.use('/users',usersRouter);
//捕获404并转发到错误处理程序
应用程序使用(功能(请求、恢复、下一步){
下一步(createError(404));
});
//错误处理程序
应用程序使用(功能(错误、请求、恢复、下一步){
//设置局部变量,仅提供开发中的错误
res.locals.message=err.message;
res.locals.error=req.app.get('env')='development'?err:{};
//呈现错误页面
资源状态(资源状态| | 500);
res.render(“错误”);
});
app.listen(端口,函数(){
log(`Test正在侦听端口${port}`)
})
module.exports=app;
server {
    listen 80 default_server;
    listen [::]:80 default_server;

    #listen 443 ssl default_server;
    #listen [::]:443 ssl default_server;
    # include snippets/snakeoil.conf;

    root /home/empa/;
    # index index.html index.htm index.nginx-debian.html;
    # Enabling the above line seems to break NGINX for some reason. 
    
    server_name myDomain.app www.myDomain.app;

    location ^~ /test/public/ {
        # gzip_static on;
        # expires 12h;
        # add_header Cache-Control public;
  }

    location / {
        proxy_pass http://localhost:3030/;
        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;

        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_redirect off;
    }

}