- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我想为我在 heroku 上的一个应用程序(一个基于 nodeJS + Vue 的简单应用程序)设置一些 SSL 证书。
我知道如果我升级到业余爱好计划(每月 7 美元)我可以自动拥有它。
但现在对于测试应用程序来说太贵了,所以我想知道我是否也可以通过免费计划实现一些类似的目标。
所以:是否可以使用免费计划为 Heroku JUST 上的应用程序设置 SSL 证书?也许通过 CLI 以复杂/棘手的方式?
从 Heroku 页面和文档来看,这似乎是不可能的。但我不得不问:)
最佳答案
这里我有一个更好的方法来处理这个问题。由于 Heroku 不为免费计划提供 SSL。但是您可以使用提供免费 SSL 的 Cloudflare。您可以使用 Cloudflare 作为 SSL 的桥梁。
要求:
第 1 步:将您的域指向 CloudFlare。你基本上打开一个帐户并在出现提示时输入你的域。您可能会收到更改域名服务器的说明。
第二步:在Cloudflare的DNS中添加Heroku Server的Cname Record。说明是here在这里您会遇到一些 SSL 安全问题。
第 3 步:现在将您的 SSL/TLS 加密模式更改为灵活(非完整)。 *重要的
现在了解工作原理:-
客户端(浏览器)向 https://example.com 发出请求首先,请求通过 SSL 到达 Cloudflare。 (用户看到与服务器的加密连接。)
然后 Cloudflare 使用非 SSL(非 Https 和未加密)向 Heroku Server(Origin) 发出请求。
然后 Heroku Server (Origin) 将带有非 SSL 的响应返回给 Cloudflare。
最后 Cloudflare 将请求转发给客户端(浏览器)
您可能会想,只加密半个系统有什么好处。但是“有总比没有好”。
你来这里是因为你不想在 heroku 付费测功机上花钱。
这种方法更适合使用http的人。至少它保护了最脆弱的一面(客户端)。大多数攻击发生的地方。 cloudflare 和您的服务器之间发生攻击的可能性非常小。由于网络覆盖。
具有较小的易受攻击概率优于 100% 易受攻击的系统
我已经测试了这个方法并正在研究 https://www.auedbaki.com
关于ssl - heroku:在免费计划上设置 SSL 证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52185560/
我的程序有问题。 我有一个比较两个字符串的条件: (if (eq? (exp1) (exp2))) 当 exp1 给我一个字符串,exp2 给我一个字符串。可以肯定的是,当我更改“eq?”时到“=”,
我们有多种主要使用 GWT 开发的产品,目前由我们的最终客户使用。 想知道 GWT 的路线图。我得到了一些非官方的更新,谷歌正在将 GWT 中开发的产品转移到其他一些新技术。这是真的吗? GWT 的长
我希望每 15 分钟定期构建一次。我在网上看过,我正在使用这个时间表:*/15 * * * * Jenkins 告诉我使用 H/15 * * * * 来平均分配负载而不是 */15 * * * * 有
所以我正试图在 Scheme 中找出整个 call/cc 的东西。下面是我正在使用的代码: (+ 1 (call/cc (lambda (k) (if (number? k)
所以我正试图在 Scheme 中找出整个 call/cc 的东西。下面是我正在使用的代码: (+ 1 (call/cc (lambda (k) (if (number? k)
我们有一个 Azure WebJob,计划在 UTC 每天上午 8:00 运行(CRON - 0 00 08 * * *)。大多数时候它都会正确触发,但有时会触发两次(第二次运行)第一次运行后约 10
我是 Terraform 的新手。我正在尝试通过 azure 管道创建一个简单的存储帐户,但是当我运行我的管道时,我收到错误“太多命令行参数”。我很震惊,我不知道自己做错了什么。有人可以帮忙吗。 这是
我想在某些逻辑中间停止芭蕾舞 Actor 程序。如何使用代码停止 ballerina 中正在运行的程序?我正在寻找相当于 java 中的 System.exit(0) 的东西。 最佳答案 我相信您正在
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 8年前关闭。 Improve this qu
我们有一个 Azure WebJob,计划在 UTC 每天上午 8:00 运行(CRON - 0 00 08 * * *)。大多数时候它都会正确触发,但有时会触发两次(第二次运行)第一次运行后约 10
我是 Terraform 的新手。我正在尝试通过 azure 管道创建一个简单的存储帐户,但是当我运行我的管道时,我收到错误“太多命令行参数”。我很震惊,我不知道自己做错了什么。有人可以帮忙吗。 这是
我正在浏览 htdp 并在一开始的某个地方发现了这个:- Explain why the following sentences are illegal definitions: 1. (define
我正在使用 Laravel 开发成员(member)门户。 成员(member)资格有不同的类别,例如1) 单人2) 成人3) 家庭以及不同价格的所有类型。 我有一个 plans 表和 plans_s
我使用 DreamHost 作为我的网站的服务器,并且我尝试每天、每周和每月执行某个 MySQL 查询来更改我的网站的数据库。我开始在本地主机上使用事件调度程序,然后我发现我无法在 DreamHost
这周我的 crontab 作业发生了一个问题。 设置如下,每两周正常运行一次,直到现在。 10 06 * * 1 test $(($(date +\%W)\%2)) -eq 0 && echo 'te
编写了一个简单的脚本,它将在日志文件中写入日期时间戳,并且每次运行该脚本时,它都会附加到该日志文件中。 #!/bin/sh echo $(date) >> log.txt 当我尝试每 1 分钟安排一次
我对 PIPE 的了解是它用于单向通信,它有助于在两个相关进程之间进行通信。我从一本书中得到了下面的 PIPE 编程代码示例。我正在尝试使用 printf 理解代码并在代码的每一行之后打印出所有点。但
代码如下: (define make-simple-sv-num (lambda (delare) (let ((tal (random-from-to 100000 1000000)))
我目前正在使用“How To Design Programs”——使用 Scheme/Racket;我在 Scheme 的 R5RS 版本中遇到了一个非常奇特的功能。 在进行简单的减法时,尽管使用的是
我想确定时间表的详细信息。例如: 我有一个事件的时间表:event.schedule "Every 3 months on the 10th day of the month" 由哈希表示: {
我是一名优秀的程序员,十分优秀!