gpt4 book ai didi

ruby-on-rails - Rails 5,Heroku with Let's Encrypt SSL - 配置设置时遇到问题

转载 作者:太空宇宙 更新时间:2023-11-03 12:53:51 25 4
gpt4 key购买 nike

我正在尝试弄清楚如何使用 let's encrypt with 我在 heroku 上的 Rails 应用程序。

我尝试了几个似乎旨在帮助完成此过程的 gems (letsencrypt-plugin),但删除了这些 gems 推荐的所有安装步骤,因为我无法使其正常工作。

现在,我回到尝试理解此处列出的教程:

http://collectiveidea.com/blog/archives/2016/01/12/lets-encrypt-with-a-rails-app-on-heroku/

https://medium.com/should-designers-code/how-to-set-up-ssl-with-lets-encrypt-on-heroku-for-free-266c185630db#.h9vjoxboq

我不会走远。

我再试一次:https://medium.com/should-designers-code/how-to-set-up-ssl-with-lets-encrypt-on-heroku-for-free-266c185630db#.h9vjoxboq

目前,错误信息是这样的:

Type:   unauthorized
Detail: The key authorization file from the server did not match
this challenge
[first random string.second random string]
!= [#{params[:id]}.ENV["LETS_ENCRYPT_SECOND"]]

To fix these errors, please make sure that your domain name was
entered correctly and the DNS A record(s) for that domain
contain(s) the right IP address.

我已将 LETS_ENCRYPT_SECOND 与“第二个随机字符串”一起保存在我的 application.yml 中。

我的 DNS 中没有任何 A 记录。我在 heroku 上托管——它不提供任何 A 记录或 IP 地址。我的域在 123-reg 上注册。

我不明白这部分说明:

mkdir -p/tmp/certbot/public_html/.well-known/acme-challenge

cd/tmp/certbot/public_html

printf "%s"first random string.second random string > .well-known/acme-challenge/first random string

每台服务器只运行一次:

$(命令-v python2 || 命令-v python2.7 || 命令-v python2.6) -c\“导入 BaseHTTPServer、SimpleHTTPServer;\s = BaseHTTPServer.HTTPServer(('', 80), SimpleHTTPServer.SimpleHTTPRequestHandler);\s.serve_forever()"

我认为它们意味着我需要将上述 4 个命令中的每一个都输入到终端中,然后我就完成了。我已经这样做了好几次,但我对此一无所获。

任何人都可以提供有关如何设置的建议。我卡住了。

更新

我已经删除了我尝试按照上述指南创建的所有设置,并再次尝试使用 letsencrypt_plugin gem

目前,这些设置都已配置,但是,当我尝试运行 rake letsencrypt_plugin 时,我收到一条错误消息:

挑战验证失败!错误:urn:acme:error:unknownHost:找不到 www.example.com 的有效 IP 地址

我现在不确定我是否应该将我的自定义域名放在 letsencrypt_plugin.yml 文件中,或者我是否应该在那里为我的自定义域名写下 heroku 应用别名。

此外,由于该应用托管在 heroku 上,因此没有 IP 地址。我的 DNS 配置根本没有任何 A 记录(没有 IP 地址)。

进一步更新

我制作了一个全新的 Rails 5 应用程序。我把它放在 heroku 上。我再次尝试了 let encrypt_plugin。这一次,我收到一条错误消息:

heroku run rake letsencrypt_plugin
Running rake letsencrypt_plugin on ⬢ ancient-octopus-78709... up, run.6780 (Hobby)
I, [2016-10-17T07:59:13.985385 #3] INFO -- : Trying to register at Let's Encrypt service...
I, [2016-10-17T07:59:13.985480 #3] INFO -- : Loading private key...
I, [2016-10-17T07:59:14.255357 #3] INFO -- : Acme::Client::Error::Malformed - Registration key is already in use
I, [2016-10-17T07:59:14.256579 #3] INFO -- : Already registered.
I, [2016-10-17T07:59:14.256646 #3] INFO -- : Sending authorization request for: www..com...
I, [2016-10-17T07:59:14.504527 #3] INFO -- : Storing challenge information...
I, [2016-10-17T07:59:16.688404 #3] INFO -- : Waiting for challenge status...
E, [2016-10-17T07:59:18.456415 #3] ERROR -- : Challenge verification failed! Error: urn:acme:error:unauthorized: Invalid response from http://www..com/.well-known/acme-challenge/eAniFLfG_3t5HrD6zbtppzWWYz1Ay76r0GaFHQ62GLI: "<!DOCTYPE html>


We're sorry, but something went wrong (500)

最佳答案

我最近在 heroku (python) 上实现了 ssl使用 links 之一你发布的。让我理解这个过程。

首先

  • 您的站点是否有自己的域名或使用 heroku 生成的域?以上所有链接都是针对自定义域名的站点,不是 heroku默认域名[name-of-app].herokuapp.com
  • 要拥有自己的域名,请按照描述的过程进行操作 here
  • 如果您有自己的自定义域名设置,请点击上面的链接 example.com替换为 --your-domain--name.com

完成上述过程后,我很乐意为您解释更多

现在您有了一个可以通过 myexample.com 访问的站点托管于 heroku

  • 你必须打开一个带有路由 .well-known/acme-challenge 的 url在您的 Rails 应用程序上。打开它并重新部署 Rails 应用程序后,您应该可以访问 URL http://myexample.com/.well-known/acme-challenge。现在这将显示一个没有内容的空白页面。
  • 接下来使用您输入的域名手动生成上述链接中指定的 ssl 证书。您应该到达一个步骤,在该步骤中您获得了一个长的随机标记 ya6k1edW38z.ebThgg67ggbb...

现在是关键部分。这就是 let's encrypt 验证您是为其生成 ssl 证书的域的实际所有者的方式。它给你一个非常随机和复杂的文本,并要求你在特定路线上显示 .well-known/acme-challenge在域上 your-domain.com

为了完成这个

  • 文本 格式呈现此 token 作为 .well-known/acme-challenge 的输出路线。示例代码请引用上面的链接
  • 使用这些更改重新部署您的应用
  • 现在手动检查路线 http://myexample.com/.well-known/acme-challenge .这应该会显示您在上述步骤中手动创建期间获得的文本。

现在在 certbot 上继续创建过程.这应该为您的域创建证书。获得证书后,将它们添加到 heroku ssl 设置 following this link

关于ruby-on-rails - Rails 5,Heroku with Let's Encrypt SSL - 配置设置时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39907302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com