Как правильно заставить HTTPS в SAFE-Stack? - PullRequest
0 голосов
/ 10 ноября 2019

Согласно Документам Сатурна , чтобы иметь HSTS в Сатурне, необходимо указать force_ssl в application:

application {
    url ("http://0.0.0.0:" + port.ToString() + "/")
    force_ssl
    ...
}

Это работает для развернутой версиисеть, однако это нарушает местное развитие. Сервер не возвращает ответы, в журнале пишет Request redirected to HTTPS и все.

Можно ли принудительно использовать SSL и одновременно поддерживать локальное устройство?

1 Ответ

1 голос
/ 10 ноября 2019

SAFE-стек предполагает использование webpack и webpack-dev-server, и это работает как прокси для реального сервера, что означает, что нужно также внести некоторые коррективы там.

Так что конфигурация webpack должна теперьиметь https в target секции proxy:

devServer: {
    proxy: {
        '/api/*': {
            target: 'https://localhost:<port>',
            ...
        },
        ...
    },
    ...
},

Этого недостаточно - согласно документам , чтобы избежать исключений безопасности, нужно сбросить secure flag:

devServer: {
    proxy: {
        '/api/*': {
            target: 'https://localhost:<port>',
            secure: false,
            ...
        },
        ...
    },
    ...
},

И последнее, что нужно, - соответственно изменить сервер application:

application {
    url ("https://0.0.0.0:" + port.ToString() + "/")
    force_ssl
    ...

Это должно быть сделано как для версий dev, так и для версий web.

...