Как правильно настроить HTTPS в SAFE-Stack?
Согласно документам Сатурна, чтобы иметь HSTS в Сатурне, необходимо указатьforce_ssl
в application
:
application {
url ("http://0.0.0.0:" + port.ToString() + "/")
force_ssl
...
}
Это работает для развернутой версии Интернета, однако мешает локальной разработке. Сервер не возвращает ответы, в лог пишетRequest redirected to HTTPS
и это все.
Можно ли принудительно использовать SSL и одновременно поддерживать удобство локального разработчика?
1 ответ
SAFE-стек предполагает использование webpack
а также webpack-dev-server
и это работает как прокси для реального сервера, что означает, что здесь также необходимо внести некоторые изменения.
Итак, конфигурация веб-пакета теперь должна иметь https
в target
из proxy
раздел:
devServer: {
proxy: {
'/api/*': {
target: 'https://localhost:<port>',
...
},
...
},
...
},
Этого недостаточно - согласно документации, чтобы избежать исключений безопасности, нужно отключитьsecure
флаг:
devServer: {
proxy: {
'/api/*': {
target: 'https://localhost:<port>',
secure: false,
...
},
...
},
...
},
И последнее - доработать сервер application
соответственно:
application {
url ("https://0.0.0.0:" + port.ToString() + "/")
force_ssl
...
Это должно сделать это как для разработчиков, так и для продуктовых версий Интернета.