Быстрая настройка маршрута с NGINX и HTTPS? - PullRequest
0 голосов
/ 06 декабря 2018

Вкратце: у меня та же проблема, что и ранее задавалась и отвечала на этот вопрос ( Как настроить маршруты с Express и NGINX? ), хотя мои файлы выглядят немного иначе, так как я использую HTTPS и яникогда не использовал try_files.

Обычная корневая ссылка работает (my.website.org), но когда я перехожу на (my.website.com/login), я получаю 404 отNGINX

Сами по себе сайты работают отлично (даже когда я отключаю индекс для входа в систему), но как только я не получаю доступ к корневой ссылке, я получаю 404 :(. IЯ уже попробовал пару предложенных решений, но почему-то не смог сделать для меня какую-либо работу. Возможно, кто-то здесь имеет предложение относительно моей настройки.


Файловая структура моего проекта:

my
| - public
| - views
|     | - index.pug
|     L - login.pug
| - app.js
L - package.json

Сначала запустите мой app.js файл:

const express = require('express');
const path = require('path');
const bodyParser = require('body-parser');
const app = express();

// Load View Engine
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');

app.use(bodyParser.urlencoded({extended: false}));
app.use(bodyParser.json());

// Home Route
app.get('/', function(req, res){res.render('index');});
// Login Route
app.get('/login', function(req, res){res.render('login');});

// Start Server
app.listen(3000, function(){console.log('Server started on port 3000...');});

Далее моя конфигурация NGINX:

server {
    listen 80;
    server_name my.website.org;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name my.website.org;

    access_log  /var/log/nginx/my.access.log;
    error_log   /var/log/nginx/my.error.log;

    location = / {
        proxy_redirect off;
        proxy_pass http://localhost:3000;
        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;
    }

    location ~ ^/(images/|img/|javascript/|js/|css/|stylesheets/|flash/|media/|static/|robots.txt|humans.txt|favicon.ico) {
        root /var/www/my/public;
        access_log off;
        expires max;
    }

    ssl_certificate /myfullchain.pem;
    ssl_certificate_key /mykey.pem;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...