Express .js / Nginx скрытое правило перезаписи? - PullRequest
0 голосов
/ 04 апреля 2020

Итак, я использую Express .js / Passport. js веб-сервер с Nginx на CentOS 7.

Вот проблема: я не могу отобразить любую конечную точку, которая начинается с w , Попытка сделать это приводит к сообщению Cannot GET /wiki/Main_Page. Тем не менее, изменение того же маршрута с, например, /welcome на /selcome работает просто отлично.

Скорее всего, виновник:

Я установил Mediawiki, но удалил его вскоре после этого. IIR C была какая-то настройка, которая настраивала URL-адреса, начинающиеся с /w после домена. Так что я предполагаю, что правило перезаписи сохраняется ... просто не знаю где.

Вот мои файлы конфигурации:

/srv/node/example.com/app/routes/auth.js

module.exports = function(app, passport) {

    //Changing the URLs below from welcome to selcome works fine
    app.get('/activate', passport.authenticate('user-activate-account', {
        successRedirect: '/welcome',
        failureRedirect: '/404',
        failureFlash: true
    }));

    ...

    app.get('/welcome', isLoggedIn, function(req, res) {
        res.render('inside', { 
            page_title: 'Welcome!',
            inc_style: true,
            style_sheet: 'style/dashboard.css',
            portal: function() {
                 return 'welcome';
               }
        });
    });
};

/etc/nginx.conf

user        nginx nginx;
error_log   /var/log/nginx/error.log info;  # [ debug | info | notice | warn | error | crit ]

events {
    worker_connections   1024;
}

http {
    include     mime.types;
    include     /etc/nginx/sites_enabled/.conf;   //Really *.conf but more readable this way
    include     /etc/letsencrypt/options-ssl-nginx.conf;

    server_names_hash_bucket_size 64;

    # Compression - requires gzip and gzip static modules.
    gzip on;
    gzip_static on;
    gzip_vary on;
    gzip_http_version 1.1;
    gzip_min_length 700;

    # Compression levels over 6 do not give an appreciable improvement
    # in compression ratio, but take more resources.
    gzip_comp_level 6;

    # IE 6 and lower do not support gzip with Vary correctly.
    gzip_disable "msie6";
    # Before nginx 0.7.63:
    #gzip_disable "MSIE [1-6]\.";

    # Redirect http traffic to https
    server {
        listen      80 default_server;
        server_name _;

        return      301 https://$host$request_uri;
    }

    # Catch-all server for requests to invalid hosts.
    # Also catches vulnerability scanners probing IP addresses.
    server {
            listen      443 ssl;
        server_name bogus;
        root        /var/empty;

        return      444;

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

    # If running php as fastcgi, specify php upstream.
    upstream php {
        server      unix:/var/run/php7.2-fpm.socket;
    }
}

/etc/nginx/sites_available/example.com.conf

#sub.example.com
server {
    ssl_certificate     /etc/letsencrypt/live/example.com/fullchain.pem;    # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;      # managed by Certbot

    listen          443 ssl;
    server_name     sub.example.com;

    access_log      /var/log/nginx/sub.example.com.access.log;
    error_log       /var/log/nginx/sub.example.com.error.log;

    location /something\.js {
        alias       /var/www/html/example.com/sub.example.com/design/;

        location ~* \.(gif|jpe?g|png|svg|webm)$ {
            try_files   $uri =404;
            expires     30d;
        }
    }

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

Пока у меня есть

  • очищенные Nginx файлы конфигурации и каждый файл конфигурации в include дерево, из любых устаревших правил.
  • Очищено Nginx кеш
  • Моя node.js папка проекта даже не содержит строку wiki где-либо, кроме NPM ссылок в node_modules folder.
  • Все PHP файлы в / et c, /etc/php.d, /etc/php-fpm.d не содержат строку wiki
  • Удаленная папка mediawiki
  • Перезапущен nginx
  • Перезапущен php -fpm
  • Перезапущен весь компьютер

I ' Я искренне озадачен тем, где может быть эта проблема. Есть идеи?

1 Ответ

0 голосов
/ 04 апреля 2020

Оказывается, это был браузер. Несмотря на многократную очистку истории и использование режима инкогнито, ничего не изменилось. Но использование другого браузера работало без нареканий. Я чувствую себя идиотом, но, по крайней мере, я наконец могу оставить эту вызывающую гнев тайну позади себя.

Использовал: Firefox (мне кажется, частного режима недостаточно) Chrome показал, что это ошибка браузера.

...