diff --git a/.vitepress/config.mts b/.vitepress/config.mts index 55af415..1b17a5c 100644 --- a/.vitepress/config.mts +++ b/.vitepress/config.mts @@ -51,15 +51,48 @@ export default defineConfig({ collapsed: true, items: [ { - text: '安装', + text: '安装面板', link: '/quickstart/install' }, + { + text: '挂载分区', + link: '/quickstart/disk' + }, + { + text: '管理面板', + link: '/quickstart/panel' + }, + { + text: '管理容器', + link: '/quickstart/container' + }, ], }, { text: '深入了解', collapsed: true, - items: [], + items: [ + { + text: '配置容器镜像加速', + link: '/advanced/hub-mirror' + }, + { + text: '配置反向代理', + link: '/advanced/proxy' + }, + { + text: '配置 QUIC(HTTP3)', + link: '/advanced/quic' + }, + { + text: '配置 TLSv1.1 TLSv1', + link: '/advanced/tls' + }, + { + text: '安全性建议', + link: '/advanced/safe' + }, + ], }, { text: '版本日志', @@ -79,14 +112,36 @@ export default defineConfig({ {icon: 'tencentqq', link: 'https://jq.qq.com/?_wv=1027&k=I1oJKSTH'}, {icon: 'wechat', link: 'https://work.weixin.qq.com/gm/d8ebf618553398d454e3378695c858b6'}, ], - footer: { - message: '严禁使用耗子面板从事违法活动,我司不对违规用户提供任何服务', - copyright: '© 2022-2024 天津耗子科技有限公司 版权所有丨津ICP备2022009678号-1津公网安备12011502000848号' - }, editLink: { pattern: "https://github.com/ratpanel/ratpanel.github.io/edit/main/:path", text: "在 GitHub 上编辑此页面" }, + footer: { + message: '严禁使用耗子面板从事违法活动,我司不对违规用户提供任何服务', + copyright: '© 2022-2024 天津耗子科技有限公司 版权所有丨津ICP备2022009678号-1津公网安备12011502000848号' + }, + docFooter: { + prev: '上一页', + next: '下一页' + }, + outline: { + label: '页面导航' + }, + + lastUpdated: { + text: '最后更新于', + formatOptions: { + dateStyle: 'short', + timeStyle: 'medium' + } + }, + langMenuLabel: '多语言', + returnToTopLabel: '回到顶部', + sidebarMenuLabel: '菜单', + darkModeSwitchLabel: '主题', + lightModeSwitchTitle: '切换到浅色模式', + darkModeSwitchTitle: '切换到深色模式', + skipToContentLabel: '跳转到内容', search: { provider: 'local', options: { diff --git a/about.md b/about.md index b63c660..76d8235 100644 --- a/about.md +++ b/about.md @@ -156,7 +156,7 @@ next: false
🔒

-

证书经销

+

证书销售

diff --git a/advanced/hub-mirror.md b/advanced/hub-mirror.md new file mode 100644 index 0000000..d78d23c --- /dev/null +++ b/advanced/hub-mirror.md @@ -0,0 +1,32 @@ +# 配置容器镜像加速 + +由于一些原因国内可能无法连接到 Docker Hub 拉取容器镜像,因此需要配置镜像加速。 + +## 对于 Podman + +在面板打开 Podman 设置页面,导航到注册表配置选项卡。 + +滚动到配置文件底部,添加如下配置并保存: + +``` +[[registry]] +location = "docker.io" +[[registry.mirror]] +location = "docker.1ms.run" +``` + +其中 docker.1ms.run 为配置的镜像加速地址,可自行参考其他教程搭建使用。 + +## 对于 Docker + +在面板打开 Docker 设置页面,导航到配置选项卡。 + +添加如下配置并保存: + +``` +{ + "registry-mirrors": ["https://docker.1ms.run"] +} +``` + +其中 https://docker.1ms.run 为配置的镜像加速地址,可自行参考其他教程搭建使用。 \ No newline at end of file diff --git a/advanced/proxy.md b/advanced/proxy.md new file mode 100644 index 0000000..fe49647 --- /dev/null +++ b/advanced/proxy.md @@ -0,0 +1,38 @@ +# 配置反向代理 + +面板当前并未自带反向代理功能,你可以通过下述伪静态规则配置一个全站反向代理: + +```nginx +location ^~ / +{ + proxy_pass http://xxx.xxx; + proxy_set_header Host $proxy_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $http_connection; + proxy_set_header Early-Data $ssl_early_data; + proxy_set_header Accept-Encoding ""; + proxy_ssl_session_reuse off; + proxy_ssl_server_name on; + proxy_ssl_protocols TLSv1.2 TLSv1.3; + proxy_http_version 1.1; # 可选,如果后端支持 HTTP 1.0 可去除 + # 可选,自定义 DNS 服务器 + resolver 8.8.8.8 ipv6=off; + resolver_timeout 10s; + + # 可选,无缓冲区(SSE等需要) + proxy_buffering off; + proxy_max_temp_file_size 0; + + # 可选,缓存响应(类似CDN) + proxy_ignore_headers Set-Cookie Cache-Control expires; # 如果不想缓存动态请求,请删除此行 + proxy_cache cache_one; + proxy_cache_key $host$uri$is_args$args; + proxy_cache_valid 200 304 301 302 1d; # 设置缓存时间 1d 表示一天 + add_header X-Cache $upstream_cache_status; +} +``` + +注意:如果设置反向代理后出现 CSS/JS 无法正常加载的问题,请移除站点主配置文件中的**静态资源**缓存部分。 diff --git a/advanced/quic.md b/advanced/quic.md new file mode 100644 index 0000000..5bfde7f --- /dev/null +++ b/advanced/quic.md @@ -0,0 +1,14 @@ +# 配置 QUIC(HTTP3) + +面板目前已支持自动 QUIC 配置,但是出于兼容性考虑,默认未添加 `Alt-Svc` 标头,浏览器在未检测到 `Alt-Svc` 标头时不会尝试使用 QUIC 连接。 + +如果你不使用 CDN,可添加下述配置到网站伪静态中即可让浏览器知晓网站支持并使用 QUIC 连接。 + +``` +add_header Alt-Svc 'h3=":$server_port"; ma=2592000'; +``` + +如果你使用 CDN 或者前端还存在代理服务器,则 QUIC 需要在 CDN / 前端开启。 +如果配置后仍不生效,请检查浏览器版本和 UDP 443 端口的可用性。 + +* 根据 Nginx 的 git 提交记录,1.25 版本下所有 QUIC 草案版本已经移除,因此 `Alt-Svc` 无需添加草案版本号。 diff --git a/advanced/safe.md b/advanced/safe.md new file mode 100644 index 0000000..f4762a2 --- /dev/null +++ b/advanced/safe.md @@ -0,0 +1,32 @@ +# 安全性建议 + +通过以下安全措施,几乎可以杜绝一切被黑/挂马问题。 + +### 网站方面 + +根据以往经验大多数被黑挂马都是程序漏洞造成的,与面板等环境无关,为了网站安全,你应该做到: + +1. 不要使用盗版程序、软件,特别是在你无法确定有没有被人加过料的情况下。 +2. 定期更新网站程序和软件环境,不要怕麻烦使用过时的软件程序,它们的安全性无法保证。 +3. 网站后台禁止使用弱密码,密码强烈建议使用随机生成器生成大于 20 位的混合密码并保存在安全位置,有条件建议开启程序的多因素身份验证(2FA)。 +4. 设置定时备份全站数据,不要裸奔。 +5. PHP 默认禁用了部分高危函数,非必要请勿删除。 + +### 系统方面 + +现代系统出现严重安全漏洞的概率是很低的,但是你仍应该做到: + +1. 定期更新系统软件。(使用 `yum update` 或 `apt upgrade`)。 +2. SSH 禁止使用弱密码和默认 22 端口,密码强烈建议使用随机生成器生成大于 20 位的混合密码并保存在安全位置,如果可以建议安装 Fail2ban 针对性保护。 +3. 不要随意给 777 权限和 www 用户的执行权限,可能造成极大安全隐患。 +4. 如果运营商提供 VNC 管理服务器,也可以考虑关闭 SSH,从源头上解决问题。 + +### 面板方面 + +面板拥有和 root 一样的权限,管理不当亦会造成严重安全问题,你应该做到: + +1. 定期更新面板及面板安装的应用。同时推荐关注我们的频道或者群,以第一时间接收各类更新消息。 +2. 面板禁止使用弱密码和默认 8888 端口,密码强烈建议使用随机生成器生成大于 20 位的混合密码并保存在安全位置。 +3. 建议修改添加面板入口和开启面板 HTTPS,防止被扫描器扫描和中间人攻击。 +4. 防火墙无必要请不要放行内部服务的端口(Redis 6379、MySQL 3306、PostgreSQL 5432等),可能造成严重安全隐患。(网站本地连接不需要放行,连不上是程序的问题)。 +5. 对安全性要求较高的情况下,可以考虑日常停止面板的运行,按需启动(面板停止运行不会影响网站、计划任务等的运行)。 diff --git a/advanced/tls.md b/advanced/tls.md new file mode 100644 index 0000000..45d5c11 --- /dev/null +++ b/advanced/tls.md @@ -0,0 +1,11 @@ +# 配置 TLSv1.1 TLSv1 + +当前面板OpenResty使用OpenSSL 3.0版本编译,默认禁用已弃用的TLSv1.1 TLSv1协议。 + +当然,如果你的业务必须要使用这两个协议的话,可以使用下述SSL配置启用。 + +``` +ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; +ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:@SECLEVEL=0; +ssl_prefer_server_ciphers on; +``` \ No newline at end of file diff --git a/quickstart/container.md b/quickstart/container.md new file mode 100644 index 0000000..60a1151 --- /dev/null +++ b/quickstart/container.md @@ -0,0 +1,24 @@ +# 管理容器 + +开始前需安装 Docker / Podman 容器引擎。 + +容器引擎安装完毕后,即可前往面板容器管理处创建容器(此处以 pgadmin4 为例)。 + +首先导航到镜像选项卡拉取需要的镜像,视网络环境可能需要数分钟到数十分钟。 + +![拉取镜像](container1.png) + +镜像拉取完成后,导航到容器选项卡开始创建容器。 + +![创建容器](container2.png) + +表单内容按容器的说明填写,此处使用的 pgadmin4 镜像需要映射 80 端口及配置 2 个默认环境变量,无需映射目录。 + +容器创建完成后可点击右上角刷新按钮和容器右侧的日志按钮检查是否正常启动。 + +![容器启动](container3.png) + +若容器未能启动,请根据日志进行修正。 +如果映射了外部端口,需要到防火墙菜单放行相应的端口。 + +![创建成功](container4.png) diff --git a/quickstart/container1.png b/quickstart/container1.png new file mode 100644 index 0000000..d0fa216 Binary files /dev/null and b/quickstart/container1.png differ diff --git a/quickstart/container2.png b/quickstart/container2.png new file mode 100644 index 0000000..6a602a9 Binary files /dev/null and b/quickstart/container2.png differ diff --git a/quickstart/container3.png b/quickstart/container3.png new file mode 100644 index 0000000..5f1ca6a Binary files /dev/null and b/quickstart/container3.png differ diff --git a/quickstart/container4.png b/quickstart/container4.png new file mode 100644 index 0000000..f8ad920 Binary files /dev/null and b/quickstart/container4.png differ diff --git a/quickstart/disk.md b/quickstart/disk.md new file mode 100644 index 0000000..c949850 --- /dev/null +++ b/quickstart/disk.md @@ -0,0 +1 @@ +# 挂载分区 \ No newline at end of file diff --git a/quickstart/panel.md b/quickstart/panel.md new file mode 100644 index 0000000..88ff5a8 --- /dev/null +++ b/quickstart/panel.md @@ -0,0 +1,15 @@ +# 管理面板 + +请勿在面板仍有任务运行时操作停止 / 重启面板,否则可能会造成问题。 + +* 启动面板:`systemctl start panel` +* 停止面板:`systemctl stop panel` +* 重启面板:`systemctl restart panel` + +## 面板命令行 + +```bash +panel-cli +``` + +可根据提示补全需要的命令进行操作。