首页 > 解决方案 > 我该如何克服这个“Cannot Get /”nginx 错误?

问题描述

我是一名初学者程序员,我正在尝试在静态 HTML 网站的“文件夹”(你怎么称呼它?)中运行 node.js 应用程序。我可以在本地访问我的 node.js 应用程序(从 http://localhost:3919/),但是当我尝试加载http://mysite.hu/tablafilc时,我收到此错误:Cannot Get /. 但是,如果我尝试加载一些随机页面(例如http://mysite.hu/asdfasf),我会收到不同的错误消息404 not found:这意味着有些东西正在工作,但我的代码中的某处仍然存在错误。

这真的不可能吗?我应该尝试从子域运行它吗?

我的/etc/nginx/sites-enabled/default文件如下所示:

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

        root /var/www/html;
        index index.html index.htm index.nginx-debian.html;

        server_name www.mysite.hu mysite.hu;

        location / {
                try_files $uri $uri/ =404;
        }

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

        location ~ ^/(tablafilc|socket\.io) {
                proxy_pass http://localhost:3919;
                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;
                sub_filter /tablafilc /;
        }
}

PS:我的静态站点没有名为 tablafilc 的页面。当然mysite.hu不是我的网站。

标签: node.jsnginxweb-hosting

解决方案


您确定http://mysite.hu/tablafilc是 GET 方法吗?
如果是 POST 端点,则无法在浏览器中查看。

由于您从服务器得到不同的响应,我假设您的 nginx 工作正常。

顺便说一句,更改/etc/nginx/sites-enabled/default中的默认文件不是一个很好的做法。


推荐阅读