无法创建在Rails中具有带有前导点的线段的路线(以验证“让我们加密”)

帕特里克·奥格雷迪

在Heroku上的Rails 5应用程序中,我试图为此URL创建一个路由:http : //beta.example.com/.well-known/acme-challenge/some-key,因此我可以使用让我们加密以获取SSL证书。但是我无法在该路线的任何分段中使该路线与前导点或句点一起使用,它只会返回404 Not Found。

换句话说,开头的点将.well-known事情搞砸了。我可以找到一条不带点的工作路线,或者如果点在其他位置(例如well.known),但是如果点是分段中的第一个字符,那么它将不起作用。

我从这个开始:

get "/.well-known/acme-challenge/:id" => "pages#letsencrypt"

如果不起作用,我尝试使用(动态细分):

get ':letsencrypt_route/acme-challenge/:id', to: "pages#letsencrypt", letsencrypt_route: /[^\/]+/

这将允许该段中任何地方都有一个点...除了第一个字符,这是我需要的地方。

知道是什么原因造成的吗?当我尝试导航到一个在段中具有前导点的URL时,它甚至在我的日志中都没有显示任何内容,它只是一个立即数404。

我已经看到有人在Rails 4和Rails 5上都遇到这个问题,这对于我使用Thin或Puma以及在开发和生产中都正在发生。我也尝试过使用几个letencrypt宝石,但它停滞在同一时间。

这是我在两种环境中都有宝石的Gemfile:

source "https://rubygems.org"

ruby "2.3.1"

gem "rails", "5.0.0.1"

gem "pg", "0.18.4" # postgresql database
gem "twitter-bootstrap-rails", "~> 3.2.2"

gem "active_median", "~> 0.1.0" # used with chartkick for graph reporting
gem "activerecord-session_store", require: false # save session to database
gem "acts-as-taggable-on", git: "https://github.com/mbleigh/acts-as-taggable-on" # tagging
gem "administrate", git: "https://github.com/heyogrady/administrate", branch: "rails5"
gem "analytics-ruby", "~> 2.0.0", require: "segment/analytics" # segment.io
gem "arel"
gem "autoprefixer-rails" # for CSS vendor prefixes
gem "bootbox-rails", "~>0.4" # wrappers for javascript dialogs
gem "bootstrap-switch-rails" # bootstrap-switch.js
gem "bourbon"
gem "bower-rails" # install front-end components
gem "browser" # For variants support
gem "carrierwave" # for handling file uploads
gem "carmen-rails" # country and region selection
gem "chartkick", "~> 1.2.4" # used to provide nice looking charts
gem "chronic" # natural language date parser
gem "codemirror-rails", ">= 5.11" # display source code in pattern library
gem "coffee-rails", ">= 4.1.1"
gem "coffee-script-source", ">= 1.8.0" # Coffee script source
gem "country_select" # HTML list of countries
gem "dalli" # for memcached
gem "delayed_job_active_record", ">= 4.1" # background job processing
gem "delayed_job_web", ">= 1.2.10" # web interface for delayed job
gem "devise", ">= 4.2.0"
gem "devise-async", git: "https://github.com/mhfs/devise-async", branch: "devise-4.x" # for user authentication
gem "flamegraph" # super pretty flame graphs
gem "fog", require: false # for handling s3
# gem "font_assets" # Handle Cross-Origin Resource Sharing on fonts
gem "font_assets", git: "https://github.com/ericallam/font_assets", ref: "457dcfddc4318e83679e9a0935612924b7717085"
gem "friendly_id", "~> 5.1.0"
gem "fullcontact" # social profile info from fullcontact.com
gem "fuzzy_match" # used by smart_csv_parser for contact & address mapping
gem "google-api-client", "< 0.9", require: "google/api_client" # connecting to Google API
gem "groupdate", "~> 2.1.1" # used with chartkick for graph reporting
gem "handy", git: "https://github.com/heyogrady/handy"
gem "hike" # finds files in a set of paths
gem "honeybadger" # for error tracking
gem "intercom-rails" # tracking user behavior
gem "jbuilder", ">= 2.4.1" # for building JSON
gem "jquery-fileupload-rails", "~> 0.4.6" # file uploads
gem "jquery-rails" # jQuery
gem "jquery-ui-rails" # jQuery UI
gem "json" # for parsing JSON
gem "kaminari" # pagination
gem "le" # logentries
gem "less-rails", ">= 2.7.1" # LESS => CSS
gem "lograge" # better log formatting
gem "mandrill-api" # sending and tracking emails
gem "mechanize" # for screen scraping
gem "memory_profiler" # lets us use rack-mini-profilers GC features
gem "mini_magick" # processing images
gem "newrelic_rpm" # monitor app performance
gem "nylas", "1.1.0" # emails, calendar, contacts via Nylas.com
gem "oink"
gem "omniauth" # third party authentication
gem "omniauth-google-oauth2" # Google authentication
gem "omnicontacts" # retrieve contacts from email providers
gem "open_uri_redirections" # allow OpenURI redirections from HTTP to HTTPS
gem "paper_trail" # maintain record of stripe plans & subscriptions
gem "prawn-labels" # PDF labels
gem "puma" # server
gem "public_activity" # for model activity tracking
gem "rack-mini-profiler", require: false # display page load time badge
gem "rack-timeout" # raise error if Puma doesn't respond in given time
gem "rack-zippy" # serve gzipped assets
gem "rails-deprecated_sanitizer" # Our app uses old sanitizer methods.
gem "react-rails", "~> 1.6.0"
gem "responders", "~> 2.0" # respond_with and respond_to methods
gem "rest-client"
gem "sass-rails", ">= 5.0.3"
gem "semantic-ui-sass", git: "https://github.com/heyogrady/semantic-ui-sass"
gem "select2-rails" # select/search/dropdown box
gem "selenium-webdriver", require: false # screen-scraping
gem "signet"
gem "simple_form", ">= 3.2.1" # forms made easy for rails
gem "sinatra", git: "https://github.com/sinatra/sinatra"
gem "stripe", "~> 1.15.0" # charging customers
gem "stripe_event" # Stripe webhook integration
gem "stackprof" # a stack profiler
gem "state_machines-activemodel", ">= 0.4.0.pre"
gem "state_machines-activerecord", ">= 0.4.0.pre"
gem "toastr-rails" # display toaster notifications
gem "therubyracer", platforms: :ruby
gem "turbolinks", "~> 5.0.0.beta" # faster page loads
gem "twilio-ruby" # phone and SMS services
gem "twitter-typeahead-rails", "~> 0.11.1.pre.corejavascript" # typeahead.js - autocomplete
gem "uglifier", ">= 1.0.3"
gem "uuidtools"
gem "valid_email" # email validation
gem "wicked" # multi-page wizard forms
gem "yaml_db", git: "https://github.com/heyogrady/yaml_db", branch: "monkey-patch-rails-5" # import/export yml->db
gem "yaml_dump", git: "https://github.com/vanboom/yaml_dump" # dump db records to yaml files
# gem "zeroclipboard-rails", "~> 0.1.1" # copy to clipboard
帕特里克·奥格雷迪

问题出在机架式宝石上。当我删除了gem和初始值设定项后,路由工作正常。

不知道根本原因是gzip压缩,这个特定的gem还是该gem对于我的Rails 5应用显然是多余的。rack-zippy github页面

是否想在Rails v4.2或更高版本的应用程序中使用rack-zippy?它建议你不要!Rails 4.2+现在支持直接提供压缩文件,因此在Rails 4.2+应用程序中无需使用ZIP文件。

如果其他人遇到类似的问题,我会寻找影响您中间件的任何瑰宝或自定义项。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有“让我们加密”的Google App Engine SSL“无法插入”

来自分类Dev

带有“让我们加密”的Google App Engine SSL“无法插入”

来自分类Dev

带有“让我们加密(Plesk)”功能的Chrome:旧的Cyphersuite

来自分类Dev

播放带有SSL证书的框架,让我们进行加密

来自分类Dev

让我们为具有公共可访问域的本地服务器加密

来自分类Dev

如何设置“让我们加密”生成的证书的所有者?

来自分类Dev

openshift,让我们加密证书

来自分类Dev

让我们加密SSL无效

来自分类Dev

让我们加密的Python问题

来自分类Dev

让我们加密续约失败

来自分类Dev

让我们加密多个nginxconf

来自分类Dev

当ISP阻止端口80和443时,如何对我的私有服务器使用“让我们加密”?

来自分类Dev

有没有办法让我们创建一个全局功能,可以在angularjs中访问应用程序中的所有视图

来自分类Dev

阻止让我们为访客网络上的客户端加密验证协议

来自分类Dev

无法使用Nginx(certbot)向域添加“让我们加密SSL证书”

来自分类Dev

无法使用Nginx(certbot)向域添加“让我们加密ssl证书”

来自分类Dev

让我们加密的多个子域

来自分类Dev

让我们加密的K3

来自分类Dev

让我们加密-Nginx-OCSP装订

来自分类Dev

让我们在Apache上加密配置

来自分类Dev

让我们加密gui老式gui样式

来自分类Dev

密钥太大-让我们加密+万灵药

来自分类Dev

nginx wordpress 子域让我们加密

来自分类Dev

lftp,让我们加密和 CA 证书

来自分类Dev

让我们在 Bash 中加密 SSL

来自分类Dev

我们在Delphi中创建的每个类都需要具有析构函数吗?

来自分类Dev

有什么方法可以让我们看到查询在kafka中为流/表运行吗?

来自分类Dev

我们如何创建自定义主键,其值在rails中带有一些字符,如EMP0001,EMP0002

来自分类Dev

我们如何创建自定义主键,其值在rails中带有一些字符,如EMP0001,EMP0002

Related 相关文章

  1. 1

    带有“让我们加密”的Google App Engine SSL“无法插入”

  2. 2

    带有“让我们加密”的Google App Engine SSL“无法插入”

  3. 3

    带有“让我们加密(Plesk)”功能的Chrome:旧的Cyphersuite

  4. 4

    播放带有SSL证书的框架,让我们进行加密

  5. 5

    让我们为具有公共可访问域的本地服务器加密

  6. 6

    如何设置“让我们加密”生成的证书的所有者?

  7. 7

    openshift,让我们加密证书

  8. 8

    让我们加密SSL无效

  9. 9

    让我们加密的Python问题

  10. 10

    让我们加密续约失败

  11. 11

    让我们加密多个nginxconf

  12. 12

    当ISP阻止端口80和443时,如何对我的私有服务器使用“让我们加密”?

  13. 13

    有没有办法让我们创建一个全局功能,可以在angularjs中访问应用程序中的所有视图

  14. 14

    阻止让我们为访客网络上的客户端加密验证协议

  15. 15

    无法使用Nginx(certbot)向域添加“让我们加密SSL证书”

  16. 16

    无法使用Nginx(certbot)向域添加“让我们加密ssl证书”

  17. 17

    让我们加密的多个子域

  18. 18

    让我们加密的K3

  19. 19

    让我们加密-Nginx-OCSP装订

  20. 20

    让我们在Apache上加密配置

  21. 21

    让我们加密gui老式gui样式

  22. 22

    密钥太大-让我们加密+万灵药

  23. 23

    nginx wordpress 子域让我们加密

  24. 24

    lftp,让我们加密和 CA 证书

  25. 25

    让我们在 Bash 中加密 SSL

  26. 26

    我们在Delphi中创建的每个类都需要具有析构函数吗?

  27. 27

    有什么方法可以让我们看到查询在kafka中为流/表运行吗?

  28. 28

    我们如何创建自定义主键,其值在rails中带有一些字符,如EMP0001,EMP0002

  29. 29

    我们如何创建自定义主键,其值在rails中带有一些字符,如EMP0001,EMP0002

热门标签

归档