Raspberry Pi 上的 NodeJS 服务器未调用函数

Raspberry Pi 上的 NodeJS 服务器未调用函数

我目前有一个运行 Raspian OS 的树莓派,它是一个在端口 8080 上运行的 Node JS 服务器。然后我设置 NGINX 用作反向代理,将传入的端口 80 流量路由到我的 8080 服务器。

我试图让用户单击一个 HTML 按钮,然后调用 NodeJS 函数将他们重定向到谷歌。 现在我不认为问题出在代码上,因为如果我在本地计算机上运行服务器(不需要 nginx),一切都会正常工作。但是,当我尝试从本地计算机访问在 Raspberry Pi 上运行的服务器时:http://192.168.0.103/Authenticate.html可以使用按钮来运行 HTML 页面,但随后函数调用http://192.168.0.103/Authenticate.js出现 404 错误。

我认为这个反向代理设置有误,但我对此非常陌生,所以我不知道是什么问题。任何帮助都非常感谢。

NGINX 默认文件

    {
    listen 80;
    listen [::]:80;
    root /home/pi/Cortana;
    server_name _;
    location / {
        proxy_pass http://127.0.0.1:8080;
        try_files $uri 4uri/ =404;
    }
}

OAuth测试.html

<form method="post" action="/Authenticate.js">
    <input type="submit" value="Login with Reddit" >
</form>

OAuth测试.js

const http = require('http');
const request = require('request');
const fs = require('fs');
const express = require('express');

const app = express();
const server = http.createServer(app);

app.get('/', serveDefaultHTML);
app.get('/OAuthTest.html', serveAuthHTML);
app.post("/Authenticate.js", function(req, res){
    console.log("Here");
    redirecting(req, res);
    });


server.listen(8080, function(){
    console.log("Listening on http://localhost:8080");
});

function serveAuthHTML(req, res){
    fs.readFile("OAuthTest.html", function(err, data){
        if (err){
            res.writeHead(404, {'Content-Type': 'text/html'});
            res.end(err);
            return;
        }
        res.writeHead(200, {'Content-Type': 'text/html'});
        res.end(data);
    });
}

function serveDefaultHTML(req, res){
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.write("Welcome to my server!")
    res.end("Request url: " + req.url);
}

function redirecting(req, res){
    console.log("Redirecting");
    res.writeHead(301,
        {Location: 'http://www.google.com'}
    );
    res.end();
}

相关内容