您如何保护deployd服务器仪表板

时间:2014-08-22 19:45:58

标签: dashboard deployd

如何保护已部署的服务器仪表板?理想情况下,使用身份验证。

3 个答案:

答案 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)

  1. 将目录(cd)更改为Deployd项目的根目录。
  2. 运行dpd keygen
  3. 运行dpd showkey并将密钥保存在某处。
  4. 使用--environment production选项重新启动dpd,否则不会 访问/dashboard时需要密钥。
  5. 转到您的API /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