4

根据土星文档,要在土星中拥有 HSTS,需要在force_ssl以下文件中指定application

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

这适用于 Web 的已部署版本,但它会破坏本地开发。服务器不会在它写入的日志中返回响应,仅此而已Request redirected to HTTPS

是否可以同时强制 SSL 并保持本地开发方便?

4

1 回答 1

3

SAFE-stack 假设使用webpackandwebpack-dev-server并且它作为真实服务器的代理,这意味着人们也需要在那里进行一些调整。

所以 webpack 配置现在应该httpstargetproxy部分中:

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

这还不够 - 根据docs,为了避免安全异常,需要取消设置secure标志:

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

最后一件事是相应地修改服务器application

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

这对于 web 的 dev 和 prod 版本都应该这样做。

于 2019-11-10T14:39:21.460 回答