为了保护SyncGateway的管理REST API,我们可以在配置文件中添加以下设置:
{
"interface":":4984",
"SSLCert":"path/to/cert.pem",
"SSLKey":"path/to/key.pem",
"adminInterface":":4985",
"adminSSLCert":"path/to/admin-cert.pem",
"adminSSLKey":"path/to/admin-key.pem"
}
此配置将会启用SSL加密,并增加了一个额外的端口(4985)用于管理REST API。请注意,所有访问管理REST API的请求都必须通过SSL加密,所以需要重新生成一个证书,该证书仅用于管理REST API。
接下来,我们需要为管理REST API设置身份验证。可以使用以下脚本创建新用户:
curl -X POST http://localhost:4985/_user/ -H "Content-Type: application/json" -d '{"name":"admin","password":"password","admin_channels":["*"]}'
该脚本将创建一个具有admin角色和所有通道权限的新用户。接下来,我们需要更新Sync Gateway的配置文件以启用身份验证:
{
"log": ["HTTP+"],
"adminInterface": ":4985",
"databases": {
"db": {
"server": "http://couchbase-server:8091",
"bucket": "default",
"users": {
"GUEST": {"disabled": true},
"admin": {"password": "password", "admin_channels": ["*"]}
}
}
}
}
现在,所有访问管理REST API的请求都需要提供经过身份验证的凭证。可以使用以下脚本测试身份验证:
curl -X GET http://localhost:4985/_user/ -u admin:password
该脚本将返回具有任何通道权限的所有用户的列表。
上一篇:保护所有工作表免受更改的影响