refactor: 1
parent
767b8a196a
commit
566cdbe089
|
@ -305,7 +305,7 @@ npm run electron
|
|||
|
||||
### 打包成可执行文件
|
||||
```shell
|
||||
cd packages/gui
|
||||
# 先执行上面的步骤,然后运行如下命令打包成可执行文件
|
||||
npm run electron:build
|
||||
```
|
||||
|
||||
|
|
|
@ -39,16 +39,17 @@ DevSidecar在第一次启动时会在本地随机生成一份根证书,当有
|
|||
## 二、信任根证书有安全风险吗
|
||||
|
||||
1. 根证书是DevSidecar第一次启动时本地随机生成的,除了你这台电脑没人知道这份根证书的内容。
|
||||
2. 代理请求目标网站时会校验目标网站的证书(除非关闭了NODE_TLS_REJECT_UNAUTHORIZED)。
|
||||
2. 代理请求目标网站时会校验目标网站的证书(除非关闭了`代理校验ssl`)。
|
||||
|
||||
> 综上所述,信任根证书没有问题。
|
||||
|
||||
最大的风险在于应用来源以及拦截配置里的替代网站。
|
||||
> 所以信任根证书没有问题。
|
||||
> 但如果应用本身来源不明,或者`拦截配置`里的替代网站作恶,则有安全风险。
|
||||
|
||||
> 对于应用来源风险:
|
||||
> 请勿从未知网站下载DevSidecar应用,认准官方版本发布地址
|
||||
> [Gitee Release](https://gitee.com/docmirror/dev-sidecar/releases)
|
||||
> [Github Release](https://github.com/docmirror/dev-sidecar/releases)
|
||||
>
|
||||
> 或者从源码自行编译安装
|
||||
|
||||
> 对于拦截配置里的替代网站风险:
|
||||
> 1. 尽量缩小替代配置的范围
|
||||
|
|
|
@ -25,6 +25,7 @@ module.exports = {
|
|||
port: 1181,
|
||||
setting: {
|
||||
NODE_TLS_REJECT_UNAUTHORIZED: true,
|
||||
verifySsl: true,
|
||||
script: {
|
||||
enabled: true,
|
||||
defaultDir: './extra/scripts/'
|
||||
|
|
|
@ -13,9 +13,11 @@
|
|||
<template slot="title">
|
||||
{{title}}
|
||||
<a-button type="primary" style="float:right" @click="doSetup()">点此去安装</a-button>
|
||||
<a-button style="float:right;margin-right:10px;" @click="openExternal('https://gitee.com/docmirror/dev-sidecar/blob/master/doc/caroot.md')">为什么?</a-button>
|
||||
</template>
|
||||
<div>
|
||||
<b>本应用在非“安全模式”下必须安装和信任CA根证书</b>,该证书是应用启动时本地随机生成的<br/>
|
||||
|
||||
<template v-if="this.systemPlatform === 'mac'">
|
||||
1、点击右上角“点此去安装按钮”,打开钥匙串<br/>
|
||||
2、然后按如下图步骤将随机生成的根证书设置为始终信任<br/>
|
||||
|
@ -70,6 +72,9 @@ export default {
|
|||
}
|
||||
},
|
||||
methods: {
|
||||
openExternal (url) {
|
||||
this.$api.ipc.openExternal(url)
|
||||
},
|
||||
afterVisibleChange (val) {
|
||||
},
|
||||
showDrawer () {
|
||||
|
|
|
@ -32,11 +32,17 @@
|
|||
<a-input v-model="config.server.port"/>
|
||||
<div class="form-help">修改后需要重启应用</div>
|
||||
</a-form-item>
|
||||
<a-form-item label="校验SSL" :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||
<a-form-item label="全局校验SSL" :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||
<a-checkbox v-model="config.server.setting.NODE_TLS_REJECT_UNAUTHORIZED">
|
||||
NODE_TLS_REJECT_UNAUTHORIZED
|
||||
</a-checkbox>
|
||||
<div class="form-help">开启此项之后,被代理应用关闭SSL校验也问题不大了</div>
|
||||
<div class="form-help">高风险操作,没有特殊情况请勿关闭</div>
|
||||
</a-form-item>
|
||||
<a-form-item label="代理校验SSL" :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||
<a-checkbox v-model="config.server.setting.verifySsl">
|
||||
校验加速目标网站的ssl证书
|
||||
</a-checkbox>
|
||||
<div class="form-help">如果目标网站证书有问题,但你想强行访问,可以临时关闭此项</div>
|
||||
</a-form-item>
|
||||
<a-form-item label="根证书:" :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||
<a-input-search addon-before="Cert" enter-button="选择" @search="onCrtSelect"
|
||||
|
|
|
@ -16,9 +16,8 @@ module.exports = function createRequestHandler (createIntercepts, middlewares, e
|
|||
let proxyReq
|
||||
|
||||
const rOptions = commonUtil.getOptionsFormRequest(req, ssl, externalProxy)
|
||||
if (setting && setting.NODE_TLS_REJECT_UNAUTHORIZED) {
|
||||
rOptions.agent.options.rejectUnauthorized = true
|
||||
}
|
||||
|
||||
rOptions.agent.options.rejectUnauthorized = setting.verifySsl
|
||||
|
||||
if (rOptions.headers.connection === 'close') {
|
||||
req.socket.setKeepAlive(false)
|
||||
|
|
Loading…
Reference in New Issue