Прокси webser devserver, как избежать ошибки 401? - PullRequest
0 голосов
/ 04 сентября 2018

Я столкнулся с проблемой, которую не знаю, как решить. У меня есть проект, и я использую React и Redux для внешнего интерфейса и Springboot для внутреннего интерфейса.

Внешний интерфейс: http://localhost:8080
Бэкэнд: http://localhost:8090

Версии Webpack:

"webpack": "^4.17.2",
"webpack-cli": "^3.0.7",
"webpack-dev-server": "^3.1.7"

Вот мой webpack.config.js

const webpack = require('webpack');

module.exports = {
    entry: [
        'react-hot-loader/patch',
        './src/index.js'
    ],
    module: {
        rules: [
            {
                test: /\.(js|jsx)$/,
                exclude: /node_modules/,
                use: ['babel-loader']
            }
        ]
    },
    resolve: {
        extensions: ['*', '.js', '.jsx']
    },
    output: {
        path: __dirname + '/dist',
        publicPath: '/',
        filename: 'bundle.js'
    },
    plugins: [
        new webpack.HotModuleReplacementPlugin()
    ],
    devServer: {
        contentBase: './dist',
        hot: true,
        historyApiFallback: true,
        headers: {
            "Access-Control-Allow-Origin": '*',
            "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, PATCH, OPTIONS",
            "Access-Control-Allow-Headers": '*'
        },
        proxy: [{
            context: ['/oauth/**', '/flows/**', '/flow/**', '/flowDetail/**', '/flowDetails/**', '/templateDetail/**', '/templateDetails/**', '/usersUnix/**', '/userUnix/**'],
            target: 'http://localhost:8090',
            changeOrigin: true
        }],
    }
};

Я называю URL через axios (v0.18.0) следующим образом:

axios.get('/flows/search/findByUserId?userId=2&page=0&size=5', {headers: {Authorization: Bearer}})
axios.get('/flows/' + id, {headers: {Authorization: Bearer}})

Код работает нормально, но когда я пытаюсь перезагрузить страницу со следующим URL:

axios.get('/flows/' + id, {headers: {Authorization: Bearer}})

Я могу открыть открытую эту страницу по ссылке с главной страницы. Но сервер не перезагрузит страницу, у меня ошибка 401. Я не могу перезагрузить страницу. Не знаю почему ... Эта ошибка произошла после того, как я реализовал конфигурацию прокси. Раньше без прокси я мог загружать / перезагружать каждую страницу.

Я не понимаю, почему я не могу перезагрузить эту конкретную страницу / URL.

Вот точное сообщение об ошибке, которое появляется при попытке перезагрузить второй URL: enter image description here

enter image description here

enter image description here enter image description here

1 Ответ

0 голосов
/ 04 сентября 2018

Проблема связана с заголовками axios {Authorization: Bearer} . Вы не передаете заголовки при перезагрузке страницы. Попробуйте проверить, что заголовки авторизации передаются в заголовке на вкладке сети браузера

...