小编Dmi*_*ink的帖子

弹性豆茎怪异的nginx配置

我试图遵循弹性beanstalk上的nginx配置,有些东西不加起来.

  • 该实例在安全组中打开端口80,因此我假设所有传入流量都来自该端口

  • cat /etc/nginx/conf.d/00_elastic_beanstalk_proxy.conf中的nginx配置指出:

    server {
     listen 8080;
     location / {
        proxy_pass  http://nodejs;
        proxy_set_header   Connection "";
        proxy_http_version 1.1;
        proxy_set_header        Host            $host;
        proxy_set_header        X-Real-IP       $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
     }
     gzip on;
    }
    
    Run Code Online (Sandbox Code Playgroud)

    8080港口?那个是从哪里来的?我试图弄乱它,这是正在运行的实际指令.

  • server_name丢失了,但是你输入的内容并不重要.如果我自己在server_name中放置任何值,则此服务器规则仍将匹配所有请求,即使是那些远程不能重置server_name值的请求.

  • 连接到实例本身时,似乎两个端口都在服务:

    [ec2-user @ ip-172-31-45-222~] $ sudo netstat -lnptu

    tcp 0 0 0.0.0.0:8080 0.0.0.0:*LISTEN 22506/nginx

    tcp 0 0 0.0.0.0:80 0.0.0.0:*LISTEN 22506/nginx

再一次,8080永远不会在安全组中打开,因此弹性负载平衡通过端口80进入内部.流量是否神奇地从80升到8080?有什么想法在这里发生了什么?

nginx amazon-web-services amazon-elastic-beanstalk

16
推荐指数
1
解决办法
9442
查看次数

什么是android:sharedUserLabel以及它在android:sharedUserID之上添加了什么附加值?

文档(http://developer.android.com/guide/topics/manifest/manifest-element.html#uid)仅说明我不能使用原始字符串及其添加的API级别,但不解释原因我想用它.如果我已经将android:sharedUserID设置为"com.foo.bar"我应该在android:sharedUserLabel引用的字符串中放入什么值,最重要的是为什么!?

谢谢

android manifest android-manifest

11
推荐指数
1
解决办法
2368
查看次数

为移动应用程序登录facebook的正确方法是什么(使用node.js/passport.js服务器)

我有一个与后端服务器一起使用的移动应用程序,我想了解使用Facebook登录(创建帐户)然后保持整个系统同步的最佳做法.

以下是我目前所了解的: - 移动应用程序可以在设备上进行登录并获取access_token - 访问令牌可以传输到服务器.我使用与某些api.myhost.com/auth/facebook路由挂钩的passport-facebook-token进行了概念验证,似乎我可以验证用户身份并检索他的FB数据.因此,我可以将他与我的数据库中的现有用户匹配或创建新记录.

我不明白:1)我必须使用https将FB令牌传输到我的服务器吗?

2)如何处理我应该进行身份验证的其他请求.我不认为每次请求都可以选择FB.想到的一个选项是生成另一个(我自己的)访问令牌,并作为FB身份验证的结果返回它.

最简单的方法是使用passport-facebook-token会话(以便cookie会话ID可以序列化并反序列化为用户ID).但这意味着我需要为会话维护一些KV存储空间.

另一种方法是为该用户生成我自己的随机令牌,在成功登录时将其与用户ID一起返回,将其存储在用户记录中,并让来自客户端的每个API调用提供此id /令牌对,并在每次手动重新验证它们时依靠护照.或者可能依靠护照本地策略?

哪一个更好?每个人的利弊是什么?

2)如果我打算使用FB令牌发布到FB并进行图形分析(朋友等),我打算将令牌存储在服务器上.我需要多久刷新一次?每次应用程序启动并刷新客户端上的令牌时,我是否应该使用新的FB令牌对我的服务器进行重新身份验证?如何通过服务器到服务器调用刷新用户FB令牌?如果我想保持对用户FB数据的访问权限,但是用户是否停止使用我或者很少使用它,我是否应该这样做?

有没有一个工作方案的食谱很好?

谢谢!

node.js facebook-graph-api passport-facebook

10
推荐指数
1
解决办法
1229
查看次数

使用angular $ resource自动保存

我正在尝试为具有许多具有自动保存功能的字段的模型实现编辑器.

该模型是json,它加载了$ resource并直接在范围中使用.

 MyModelResource = $resource(config.api4resource + 'models/:id', {id:'@_id'});
 $scope.myModel = MyModelResource.get({id: xxxx});
Run Code Online (Sandbox Code Playgroud)

问题#1: 实际的自动保存实现.对于我正在做的每个文本字段:

HTML:

<input type="text" ng-model="myModel.someField" ng-blur="save()" ng-change="dirty()">
Run Code Online (Sandbox Code Playgroud)

控制器:

$scope.dirty = function() {
    $scope.dirtyFlag = true;
    console.log('Marking dirty!');
};

$scope.save = function(force) {

    if (!$scope.dirtyFlag && !force) {
        return;
    }
    $scope.dirtyFlag = false;
    console.log('Saving!');
    $scope.myModel.$save();
}
Run Code Online (Sandbox Code Playgroud)

这个想法是,节省每次ng-change都太昂贵了,因为我不希望像用户类型那样为每个字母命中服务器.所以ng-change()在我的控制器中标记了一个"脏"标志,当我离开具有ng-blur的字段时,我检查标志并仅在状态为脏时保存.这仍然不包括所有情况,例如用户修改文本字段但未移动到另一个字段的情况.有一个选项可以在dirty()中为save()安排一个计时器,这样我无论如何都会保存,但这看起来不像是一个优雅的解决方案(来自https://stackoverflow.com的计时器代码)/ a/21137079/1076865):

$scope.dirty = function() {
    $scope.dirtyFlag = true;
    console.log('Marking dirty!');

    if (savePromise) {
        $timeout.cancel(savePromise);
    }

    savePromise = $timeout(function() {
        savePromise = null;
        $scope.save();
    }, 500);
}; …
Run Code Online (Sandbox Code Playgroud)

javascript autosave angularjs

7
推荐指数
1
解决办法
2687
查看次数

使用弹性beanstalk部署复杂的node.js项目

我想知道使用弹性beanstalk部署复杂node.js的最佳实践是什么,而不依赖于外部npm存储库的可用性(以及处理内部开发的软件包的凭据和私有管理git存储库的高可用性).

看起来有一种思想流派,它实际上将node_modules检入到实际部署的项目的源树中.

来源1:http://www.futurealoof.com/posts/nodemodules-in-git.html

来源2:http://eng.yammer.com/managing-node-js-dependencies-and-deployments-at-yammer/

所以听起来像是检查它们是正确的方法,但是对于某些已编译的软件包存在不同的二进制格式问题(在ma​​c上开发并部署到linux)

我尝试过做yammer家伙建议(签入模块除了bin文件夹),但即使那时本地"npm rebuild"命令失败(它试图chmod在bin.in文件夹中不存在的bin文件夹中的东西)所以我甚至没有试图看看beanstalk默认部署环境将对这样的存储库做什么.我假设它运行"npm install"(它什么都不做),但它会运行"npm rebuild"吗?

那么,再次,部署具有多个依赖项的复杂项目的最佳实践是什么?现在在node/beanstalk世界中它一定是一个已经解决的问题,不是吗?

谢谢

node.js npm amazon-elastic-beanstalk

5
推荐指数
1
解决办法
1424
查看次数

处理require.js

我想我并不完全理解require.js的工作方式.这是我创建的一个简单模块:

requirejs.config({
  paths: {
    'underscore'    : 'libs/underscore-min',
    'backbone'      : 'libs/backbone-min'
  }
});

define([
  "underscore",
  "backbone"
  ], function(_, Backbone) {
    console.log(_);
    console.log(Backbone);
    var MyCollection = Backbone.Collection.extend({
        initialize: function() {
            this.on("all", function(event) {
                console.log(event);
            });
        }

    });

    return MyCollection;
});
Run Code Online (Sandbox Code Playgroud)

我从我的HTML加载它:

<script data-main="js/mycollection.js" src="js/libs/require.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

问题是它间歇性地工作.有时我需要Backbone对象在函数中,有时它不会(并且给我http://requirejs.org/docs/errors.html#notloaded错误).如果我只是在浏览器中重新加载,我会得到50/50的更改工作.

我必须在这里遗漏一些非常基本的东西,报告的错误对我没有任何意义,我认为require.js机制的全部想法是只有在加载所有依赖项时才会调用我的函数.

requirejs backbone.js

2
推荐指数
1
解决办法
469
查看次数