如何保护已部署的服务器仪表板?理想情况下,使用身份验证。
答案 0 :(得分:1)
来自deployd docs:
要在服务器上设置信息中心,请在您的服务器上输入
dpd keygen
server的命令行来创建远程访问密钥。输入dpd showkey
拿到钥匙;你应该将它存放在安全的地方。然后,您可以转到服务器上的
/dashboard
路由并输入该路由 获得访问权的关键。
见这里:http://docs.deployd.com/docs/server/your-server.md#s-Dashboard%20Access-2728
顺便提一下,docs.deployed.com上的文档比github文档更详细。
希望这会有所帮助。
答案 1 :(得分:0)
cd
)更改为Deployd项目的根目录。dpd keygen
。dpd showkey
并将密钥保存在某处。--environment production
选项重新启动dpd,否则不会
访问/dashboard
时需要密钥。/dashboard
并将密钥粘贴到对话框中。答案 2 :(得分:0)
除了身份验证之外,我还将其限制为仅限数据输入用户。 它不完美(我也想删除删除资源按钮),但这里是:
<强> env.sh 强>
# this makes deployd require key for /dashboard
export NODE_ENV=production
.production.patch (禁用事件配置编辑器)
--- node_modules/deployd/lib/resources/dashboard/index.ejs 2016-11-21 16:10:05.406025488 +0100
+++ node_modules/deployd/lib/resources/dashboard/index.ejs.new 2016-11-21 16:09:51.009794524 +0100
@@ -65,7 +65,7 @@
<a href="#" class="options"><span class="caret"></span></a>
<% if (type && type.dashboardPages) { %>
<ul class="nav pages type-icons <%= isCurrent ? '' : 'hide' %>">
- <% type.dashboardPages.forEach(function(p) { %>
+ <% type.dashboardPages.forEach(function(p) { if( p.match(/Config|Events|Properties/) != null ) return %>
<li <%- isCurrent && (Context.page || '').toLowerCase() === p.toLowerCase() ? 'class=active' : ''%> ><a href="/dashboard/<%= resource.id %>/<%= p.toLowerCase() %>/"><i class="icon-white icon-custom <%= p.toLowerCase() %>"></i> <%= p %></a></li>
<% }); %>
</ul>
.git / hooks / post-merge (自动调用git pull)
#!/bin/bash
# disallow users from changing resource schema's, event-code and config.json
patch -Np0 < .production.patch
[[ ! -n $NO_NPM ]] && npm update