Skip to content

Commit

Permalink
improve
Browse files Browse the repository at this point in the history
  • Loading branch information
chendelin1982 committed Jan 24, 2024
1 parent 9eb0ff5 commit c353ff5
Show file tree
Hide file tree
Showing 25 changed files with 390 additions and 442 deletions.
24 changes: 24 additions & 0 deletions docs/guide/appauth.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
sidebar_position: 1.4
slug: /guide/appauth
---

# 设置应用的安全访问控制

安装应用后,我们发现可能还有更多的安全访问控制需求:

- 有些应用并没有设置密码(例如:Netdata),这样直接暴露给互联网用户是不合理的
- 有些应用只希望开放给部分用户,即白名单

Websoft9 的网关具备为此类应用设置密码或白名单访问,具体步骤如下:

1. 控制台依次打开:【网关】>【Access Lists】

2. 点击【New Access List】,新增一个访问控制项

- Details: 输入英文名称
- Authorization:输入账号密码
- Access:allow 出输入可以访问的[白名单](https://nginx.org/en/docs/http/ngx_http_access_module.html#allow),0.0.0.0/ 表示允许所有 IP 访问

3. 转到网关的:【Hosts】>【Proxy Hosts】项,编辑应用的配置文件,选择上面配置的 Access
![设置 Access](https://libs.websoft9.com/Websoft9/DocsPicture/zh/websoft9/websoft9-gateway-setaccess.png)
15 changes: 15 additions & 0 deletions docs/guide/appchangeurl.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
sidebar_position: 1.3
slug: /guide/appchangeurl
---

# 更换应用的 URL

Websoft9 控制台的应用管理的【访问】标签页,提供了对应用的域名进行**增、删、改**的操作,此即更换应用的 URL。

大多数应用修改 URL 后,会立即生效。但也有极少应用,还需要参考[应用文档](../apps)进行更多的操作方可成功更改 URL。





70 changes: 70 additions & 0 deletions docs/guide/appdb.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
---
sidebar_position: 2
slug: /guide/appdb
---

# 管理/更换应用的数据库

Websoft9 采用微服务架构部署应用,每个应用的数据库都进行了必要的预配置,且它们是独立运行的,应用间数据互不干扰。

## 管理数据库

管理数据库的所需的两个要素:

- 准备数据库管理工具
- 获取准确的数据库连接信息(主机名,账号,密码,端口等)

### 可视化管理工具

虽然 Websoft9 在默认情况下,没有安装任何一个数据库管理工具。但是,我们在应用商店的【数据库】>【管理与迁移】类目提供了诸多热门的 Web 版的数据库管理工具。

![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/websoft9/websoft9-appstore-dbmanagelist.png)

### 获取连接信息

Websoft9 所有应用考虑了用户需要的:数据库主机名、账号和密码等,可以通过其管理页面的【数据库】标签页查看。

### 连接信息对照(表)

下面我们在列出常见的数据库与管理工具对应表,供您参考:

| 数据库 | 管理员 | 端口 | Web 版管理工具 |
| --------------- | -------- | ----- | ----------------------- |
| MySQL | root | 3306 | phpMyadmin, CloudBeaver |
| MariaDB | root | 3306 | phpMyadmin, CloudBeaver |
| PostgreSQL | postgres | 5432 | pgAdmin, CloudBeaver |
| SQL Server | sa | 1433 | CloudBeaver |
| MongoDB | root | 27017 | MongoDB Compass |
| Oracle Database | system | 1521 | CloudBeaver |
| Redis || 6379 | RedisInsight |


## 更换数据库

用户可能面临使用习惯、企业 IT 规范要求等不同的因素,导致需要更换默认数据库为用户自己的特定数据库(外部)。

下面介绍如何更换数据库更换为外部目标数据库:

### 准备

更换为外部目标数据库,了解最少需要做好如下准备:

* 充分阅读应用法人官方文档,确保外部目标数据库类型是受支持的且完成应用所需的必要配置
* 开启数据库的远程连接,确保可以被 Websoft9 应用访问
* 针对已初始化的应用,备份原有的数据库

### 开始更换

每个应用的数据库连接信息和存放地有一定的差异,但它的原理是相同的。下面介绍典型的更换数据库的主要操作:

1. 在 Websoft9 控制【我的应用】中,进入应用设置状态,点击[编排](../quick/manageapp#reup)标签页

2. 更改 .env 或 docker-compose.yml (文件二选一)应用的连接数据库信息。

> 此操作为高级操作,需慎重操作

### 更换后处理

更换为外部目标数据库后,需导入备份的数据库,并测试可用性。

74 changes: 74 additions & 0 deletions docs/guide/appsetdomain.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
---
sidebar_position: 1.1
slug: /guide/appsetdomain
---

import DocCardList from '@theme/DocCardList';
import {useCurrentSidebarCategory} from '@docusaurus/theme-common';

# 设置应用的域名

Websoft9 提供了域名和证书配置的图形化界面--[网关](../function/gateway),大大减轻了用户的负担。

为应用设置域名(包含HTTPS证书)的前提首先需要:[准备域名](../reference/domain)。域名准备好之后,根据自身的需求完成对应的设置:

## 配置域名

为应用配置域名有两种方式:

- 一次配置,所有应用生效,我们称之为**全局域名**
- 每个应用单独配置,我们称之为**单设域名**

### 全局域名{#global-domain}

全局域名只需要做一次域名解析和绑定,即可被所有应用使用,具体步骤:

1. 从域名注册服务商的控制台,增加一个**泛域名解析**。假设域名为:websoft9.cn,[泛解析](../reference/domain.md#wildcard)的设置为:

- 记录类型:A
- 主机记录:*.inner (注意 *. 的使用,这是泛解析的关键)
- 记录值:服务器公网IP

2. 解析成功后,可以任意使用以 inner.websoft9.com 为**后缀**的子域名。下面是测试范例:
```
ping app1.inner.websoft9.com
ping app2.inner.websoft9.com
ping app3.inner.websoft9.com
```

3. 从 Websoft9 控制台的【设置】栏目,设置全局域名
![Websoft9 控制台](https://libs.websoft9.com/Websoft9/DocsPicture/zh/websoft9/websoft9-settings-globaldomain.png)

4. 进入应用商店的任意一个应用,点击【安装】后会看到全局域名已经被默认关联到应用
![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/websoft9/websoft9-setdomain-app.png)

5. 输入任意一个应用名称,例如:erpnext,安装过程中就自动为应用绑定了 erpnext.inner.websoft9.cn 这样的域名

### 单设域名{#single-domain}

单设域名即每个应用都需要做一次域名解析和域名绑定操作:

1. 从域名注册服务商的控制台,增加一个**域名解析**。假设域名为:websoft9.cn,解析的设置为:

- 记录类型:A
- 主机记录:wordpress
- 记录值:服务器公网IP

2. 进入应用商店的任意一个应用,进入【安装】界面后,点击【+添加域名】按钮
![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/websoft9/websoft9-setdomain-adddomain.png)

3. 绑定所需的域名,安装过程中就自动绑定该域名

## 常见问题

#### 全局域名与单设域名可以同时并存吗?

可以

#### 设置全局域名后,可以指定应用禁用它吗?

可以,在安装应用时点击【禁用】按钮就可

#### 域名必须在安装时绑定吗?

安装后绑定域名实际上就等**同于更换域名**。大部分域名支持在安装后绑定,但也有极少域名不支持安装后绑定
101 changes: 101 additions & 0 deletions docs/guide/appsethttps.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
---
sidebar_position: 1.2
slug: /guide/appsethttps
---

# 设置应用的 HTTPS 访问


## 前置条件

Websoft9 网关虽然支持便捷的 HTTPS 配置,但配置 HTTPS 还有两个因素需要准备的:

- 开启服务器安全组的 443 端口
- 应用已经完成了[域名配置](./appsetdomain.md),可以通过 HTTP 访问

具体以上条件后,便可以登录服务器配置 HTTPS。此处提供两种方案,请根据实际情况选择:

## 控制台配置 HTTPS{#console}

### 自动证书

网关默认支持 [Let's Encrypt](https://letsencrypt.org/) 免费的证书部署程序

1. 控制台依次打开:【网关】>【Hosts】>【Proxy Hosts】项

2. 编辑 SSL 项,点击保存即启动证书自动设置
![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/websoft9/websoft9-gateway-setautohttps.png)

> Email 建议填写为可以收到邮件的常用邮箱,以便于及时了解证书的状态
### 上传证书

Websoft9 的网关采用先上传证书,再绑定到 Proxy Host 的这种模式:

1. 控制台依次打开:【网关】>【SSL Certificates】

2. 点击【Add SSL Certificate】子菜单下的【Custom】项,开始增加自上传证书
![](https://libs.websoft9.com/Websoft9/DocsPicture/zh/websoft9/websoft9-gateway-addcustomssl.png)

3. 在 Add Custom Certificate 选项卡中上传已有的证书

4. 转到网关的:【Hosts】>【Proxy Hosts】项,编辑应用的配置文件的 SSL 项,指定上面上传的证书

## HTTPS 特别指南

#### CDN(全站加速)开启 HTTPS

如果应用需要使用云平台的 CDN 或全栈加速服务,相关的设置如下:

1. CDN/全站加速的控制台需设置 HTTPS
2. Websoft9 网关中为应用启用 HTTPS

需要注意的是,两端 HTTPS 必须使用同一套证书。

#### HTTP 自动跳转 HTTPS

Websoft9 控制台进入【网关】>【Proxy Hosts】,编辑域名的 SSL 设置,勾选**Force SSL** 即可

#### 中文域名配置 HTTPS

中文域名很特殊,它仅在中国被使用。HTTPS 是不支持中文域名的,但如何设置证书呢?

1.[中国互联网络信息中心](http://www.cnnic.cn/jczyfw/zwym/zgymzcjsy/201206/t20120612_26523.htm)转码。例如:`网久软件.com` 转码为 `xn--3iQsQ211JuqN.com`

2. 域名解析:将中文域名解析直接解析到服务器 IP 地址

3. 域名绑定:域名设置的 **Domain Names** 绑定 `xn--3iQsQ211JuqN.com`

4. 启用 HTTPS



## 问题解答

#### 向云平台申请免费证书要注意什么?

* 免费证书只能用于单个域名,例如: buy.example.com 或 next.buy.example.com,
* example.com 是通配符域名方式,不能用于申请免费证书
* 申请证书的时候,请先解析好域名,有些证书会绑定域名对应的 IP 地址,即一旦申请后,IP 地址不能更换,否则证书不可用


#### Docker 容器内支持 HTTPS?

部分容器支持,但建议通过网关配置 HTTPS

#### IP 地址可以申请 HTTPS 证书吗?

可以通过 openssl 为 IP 创建自签名证书,但在线的证书颁发机构不支持 IP 申请证书。

#### Android 无法使用HTTPS,而 iOS 可以?

确保 SSLCertificateChainFile 已被采用

#### HTTPS 设置成功,仍显示“与此网站建立的连接并非完全安全”?

首选明确一点即您的HTTPS设置是成功的,只是由于网站中存在包含 http访问的静态文件 或 外部链接等,导致浏览器告警您的网站并非完全安全。

#### 证书上传到哪个目录?

请直接通过【网关】>【SSL】功能上传和管理证书,即不需要考虑存储在哪个目录

45 changes: 0 additions & 45 deletions docs/guide/dbchange.md

This file was deleted.

29 changes: 0 additions & 29 deletions docs/guide/dbconnect.md

This file was deleted.

5 changes: 0 additions & 5 deletions docs/guide/domain/_category_.yml

This file was deleted.

18 changes: 0 additions & 18 deletions docs/guide/domain/change.md

This file was deleted.

Loading

0 comments on commit c353ff5

Please sign in to comment.