docs: 宝塔动态IP白名单
| 
						 | 
				
			
			@ -119,6 +119,7 @@ export default defineConfig({
 | 
			
		|||
                        {text: "邮箱配置", link: "/guide/use/email/index.md"},
 | 
			
		||||
                        {text: "IPv6支持", link: "/guide/use/setting/ipv6.md"},
 | 
			
		||||
                        {text: "ESXi", link: "/guide/use/ESXi/index.md"},
 | 
			
		||||
                        {text: "宝塔动态IP白名单", link: "/guide/use/baota/white_list.md"},
 | 
			
		||||
                        {text: "子域名托管", link: "/guide/use/cert/subdomain.md"},
 | 
			
		||||
                    ]
 | 
			
		||||
                },
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -21,13 +21,13 @@
 | 
			
		|||
 | 
			
		||||
#### 2.2 容器编排方式部署
 | 
			
		||||
 | 
			
		||||
1. 打开`docker-compose.yaml`,整个内容复制下来    
 | 
			
		||||
1. 打开`docker-compose.yaml`,整个内容复制下来
 | 
			
		||||
   https://gitee.com/certd/certd/raw/v2/docker/run/docker-compose.yaml
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
然后到宝塔里面进到docker->容器编排->添加容器编排   
 | 
			
		||||
   
 | 
			
		||||
点击确定,等待启动完成   
 | 
			
		||||
然后到宝塔里面进到docker->容器编排->添加容器编排
 | 
			
		||||

 | 
			
		||||
点击确定,等待启动完成
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
> certd默认使用sqlite数据库,另外支持`mysql`和`postgresql`数据库,[点我了解如何切换其他数据库](../database)
 | 
			
		||||
| 
						 | 
				
			
			@ -35,16 +35,16 @@
 | 
			
		|||
 | 
			
		||||
## 二、访问应用
 | 
			
		||||
 | 
			
		||||
http://ip:7001    
 | 
			
		||||
https://ip:7002     
 | 
			
		||||
默认账号密码    
 | 
			
		||||
admin/123456   
 | 
			
		||||
http://ip:7001
 | 
			
		||||
https://ip:7002
 | 
			
		||||
默认账号密码
 | 
			
		||||
admin/123456
 | 
			
		||||
登录后请及时修改密码
 | 
			
		||||
 | 
			
		||||
## 三、如何升级
 | 
			
		||||
宝塔升级certd非常简单
 | 
			
		||||
 | 
			
		||||
打开容器页面: `docker`->`容器编排`->`左侧选择Certd`->`更新镜像`     
 | 
			
		||||
打开容器页面: `docker`->`容器编排`->`左侧选择Certd`->`更新镜像`
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -80,5 +80,8 @@ admin/123456
 | 
			
		|||
### 1. 无法访问Certd
 | 
			
		||||
1. 确认服务器的安全规则,是否放开了对应端口
 | 
			
		||||
2. 确认宝塔防火墙是否放开对应端口
 | 
			
		||||
3. 尝试将Certd容器加入宝塔的`bridge`网络 
 | 
			
		||||

 | 
			
		||||
3. 尝试将Certd容器加入宝塔的`bridge`网络
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
### 2. 动态IP无法加白名单问题
 | 
			
		||||
[Nginx代理解决方案](../../use/baota/white_list.md)
 | 
			
		||||
| 
		 After Width: | Height: | Size: 22 KiB  | 
| 
		 After Width: | Height: | Size: 30 KiB  | 
| 
		 After Width: | Height: | Size: 36 KiB  | 
| 
		 After Width: | Height: | Size: 15 KiB  | 
| 
		 After Width: | Height: | Size: 7.2 KiB  | 
| 
		 After Width: | Height: | Size: 27 KiB  | 
| 
		 After Width: | Height: | Size: 58 KiB  | 
| 
		 After Width: | Height: | Size: 23 KiB  | 
| 
						 | 
				
			
			@ -0,0 +1,69 @@
 | 
			
		|||
# 宝塔IP白名单与动态IP问题
 | 
			
		||||
调用宝塔接口需要添加IP白名单,但当certd部署在动态IP环境下时,IP白名单就不好添加
 | 
			
		||||
本章节提供一种代理解决方案
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## nginx代理方案
 | 
			
		||||
 | 
			
		||||
通过在宝塔中配置一个nginx反向代理宝塔自己的地址,然后在nginx中配置放开certd需要的接口,缩小影响范围
 | 
			
		||||
 | 
			
		||||
### 1. 添加nginx反向代理
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
### 2. 域名和代理目标
 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
### 3. 设置放开哪些接口
 | 
			
		||||

 | 
			
		||||

 | 
			
		||||
将如下脚本填入上方文本域中,保存
 | 
			
		||||
```nginx configuration
 | 
			
		||||
set $allow_access false;
 | 
			
		||||
 | 
			
		||||
    # 检查请求的URI是否在白名单中
 | 
			
		||||
   if ($request_uri ~* "^/(site\?action=get_site_types)") {
 | 
			
		||||
        # 允许测试
 | 
			
		||||
        set $allow_access true;
 | 
			
		||||
    }
 | 
			
		||||
    if ($request_uri ~* "^/(config\?action=SavePanelSSL)") {
 | 
			
		||||
        # 允许部署到宝塔面板本身证书
 | 
			
		||||
        set $allow_access true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if ($request_uri ~* "^/(mod/docker/com/set_ssl|site\?action=SetSSL|ssl\?action=GetSiteDomain|mod/docker/com/get_site_list)") {
 | 
			
		||||
        # 允许部署宝塔网站证书
 | 
			
		||||
        set $allow_access true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if ($request_uri ~* "^/(ssl?action=remove_cloud_cert|ssl\?action=get_cert_list)") {
 | 
			
		||||
        # 允许删除宝塔过期证书
 | 
			
		||||
        set $allow_access true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if ($request_uri ~* "^/(datalist/get_data_list|site/set_site_ssl)") {
 | 
			
		||||
        set $allow_access true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    # 如果不在白名单,返回403禁止访问
 | 
			
		||||
    if ($allow_access = false) {
 | 
			
		||||
        return 405;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### 4. 接口IP白名单添加127.0.0.1
 | 
			
		||||
   
 | 
			
		||||
 | 
			
		||||
### 5. certd中宝塔授权配置改成新的这个域名地址
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||
点击测试检查是否ok ,到这里就可以正常部署证书了
 | 
			
		||||
 | 
			
		||||
### 6. 安全加强(将请求地址改成https)
 | 
			
		||||
在宝塔中配置证书部署任务,选择刚才新建的这个网站,给他部署证书
 | 
			
		||||
勾选强制https
 | 
			
		||||

 | 
			
		||||
更换443端口【可选】
 | 
			
		||||

 | 
			
		||||
禁止http访问
 | 
			
		||||