1

В настоящее время у меня установлен Raspian OS, на которой установлен Raspian OS, и сервер Node JS, работающий через порт 8080. Затем я настроил NGINX для использования в качестве обратного прокси-сервера для маршрутизации входящего трафика порта 80 на мой сервер в 8080.

Я пытаюсь заставить пользователя нажать кнопку HTML, которая затем вызывает функцию NodeJS, чтобы перенаправить их в Google. Теперь я не думаю, что проблема заключается в коде, потому что, если я запускаю сервер на своем локальном компьютере (не требуется 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;
    }
}

OAuthTest.html

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

OAuthTest.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();
}

0