我正在尝试使用PyAPNS将推送通知发送到iPhone应用程序.我们已经完成了从Apple开发中心获取证书的过程,该工作正常; 但是,我们已经按照几个不同的教程来了解如何将证书和私钥组合到一个.pem文件中,并且对于所有这些文件,尝试使用结果证书从我们的Web服务器使用OpenSSL连接到APNS服务器这个错误:
$ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns.pem
CONNECTED(00000003)
depth=1 C = US, O = "Entrust, Inc.", OU = www.entrust.net/rpa is incorporated by reference, OU = "(c) 2009 Entrust, Inc.", CN = Entrust Certification Authority - L1C
verify error:num=20:unable to get local issuer certificate
verify return:0
[...certificate chain, server certificate, etc.]
Run Code Online (Sandbox Code Playgroud)
有时我们能够在所有这些内容中键入内容,并且在我们按Enter键之前连接不会关闭,有时不会(它立即关闭),但即使我们看起来有连接,PyAPNS也会在我们尝试时失败发送推送通知,给出错误"故障500:'无法建立到APNS服务器的连接'.",我只能假设与"无法获得本地颁发者证书"相同的原因 - 尽管我不知道那可能是什么原因.
我们一直关注的教程包括:
http://blog.serverdensity.com/how-to-build-an-apple-push-notification-provider-server-tutorial/
http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12
http://www.nasoni.net/2010/12/02/apns-client-development-certificate/
是的,我们一直在从私钥中删除密码,当我们尝试连接OpenSSL时它没有要求它,所以可能这部分工作正常.
我们不知道出了什么问题.令人生气的是,所有这些教程(以及Apple,显然)都认为你使用的是Mac,而我正在开发Windows,而服务器(我就是那个)正在使用Ubuntu; 我的同事在Mac上已经做了第一步的各种前缀,然后将结果文件发送给我上传到服务器并执行最后的步骤.不管怎样,这可能与它有关吗?或者是否有必要的服务器设置步骤到处都被省略?
ssl ssl-certificate push-notification apple-push-notifications
我正在尝试从Ubuntu服务器连接到Apple的Push Notification服务以获取应用程序.我已经成功生成了我正在使用的pyAPNS提供程序所需的组合.pem证书.但是,当我尝试验证证书时openssl verify,我明白了error 20 at 0 depth lookup:unable to get local issuer certificate.如果我明确指定证书颁发机构(openssl verify apns.pem -CAfile entrust_2048_ca.pem),它可以工作,但我已按照此处的说明在"将证书导入系统范围的证书颁发机构数据库"下明确地在系统上安装了Entrust证书,据我所知这个页面,一切都是应该的(证书在/ usr/lib/ssl/certs中,并且有一个带有哈希的符号链接).
如果我尝试连接到APNS本身,也会发生同样的情况openssl s_client:如果我明确指定了CA文件,它似乎连接正常,但不是.PyAPNS告诉我它无法连接到APNS服务器,我只能假设这是出于同样的原因.
如何在默认情况下让OpenSSL识别Entrust证书颁发机构,而不是每次都明确指定它?我在某处错过了一步吗?
在 Django 中创建自定义模型管理内联时,您可以设置两个参数extra和max_num:要显示的附加表单的数量,以及允许用户附加到父对象的最大对象数。
我有一个问题模型,每个模型都可以有多个答案,这些答案在问题管理中内嵌。大多数问题都会有三个答案,所以我想默认显示三个内联;然而,当编辑一个已经有三个答案的问题时,在很可能根本没有更多答案的情况下显示三个完整的额外字段看起来很拥挤和俗气。我想要的本质上是一个min_num参数:我想默认显示至少三个字段,如果已经少于三个答案,则为空,同时仍然允许用户添加更多,然后全部显示。
我发现门票将这个既表单集和内联,但它看起来像他们还没有得到解决。目前在 Django 1.4 中有什么方便的方法可以做到这一点吗?
我正试图在Django应用程序中处理一个非常令人费解的错误.当DEBUG = False时,尝试删除用户(via user.delete())会出现此数据库错误:
DatabaseError: relation "social_auth_usersocialauth" does not exist
LINE 1: ...", "social_auth_usersocialauth"."extra_data" FROM "social_au...
Run Code Online (Sandbox Code Playgroud)
但是,我在INSTALLED_APPS中没有social_auth或类似名称的任何东西,我的数据库中也没有这样的表,我的代码也没有引用任何类似的东西(我在整个'社交'上运行了一个文本搜索项目文件夹) - 再次,这在DEBUG = True时工作正常.social_auth安装在我的系统和我的PYTHONPATH上,但我看不出这个应用程序在哪里得到了应该在其数据库中拥有social_auth表的想法,更不用说为什么它只在DEBUG = False时才这样认为.
我的应用程序可以通过哪些途径获取此表,我怎么能说服它不应该在那里?
我的雇主刚好让客户对Stripe发送的发票电子邮件感到困惑,因为它经常收取按比例收费的订购费用:
Unused time on Silver plan after 27 Aug 2015 -$48.13
Remaining time on Gold plan after 27 Aug 2015 $240.63
Subscription to Gold plan $250.00
Run Code Online (Sandbox Code Playgroud)
她以为她要多付一个月的费用。我们真的很想弄清楚这些收费的含义,例如,通过指定每个项目适用的确切时间段-类似于Stripe在其仪表板上显示的内容:
Unused time on Silver plan Aug 27, 2015 — Sep 26, 2015 -$48.13
Remaining time on Gold plan Aug 27, 2015 — Sep 26, 2015 $240.63
Subscription to Gold plan Sep 26, 2015 — Oct 26, 2015 $250.00
Run Code Online (Sandbox Code Playgroud)
但是,我看不到自定义标题以外的Stripe发票电子邮件的方法,尽管我们可以在webhook回调中编辑按比例分配发票项目的描述,但看不到编辑订阅项目描述的方法。根据API文档,订单项的ID只能是发票项目ID或订阅ID,因此该订单项本身无法直接检索或修改,因此我不想编辑其说明订阅本身,仅此一张发票上的项目。
是这样做的唯一方法是从头开始发送我们自己的发票,而根本不使用Stripe的发票,还是我还没有发现某些方法?