【问题标题】:OpenShift and Jekyll Cartridge Force SSLOpenShift 和 Jekyll 墨盒强制 SSL
【发布时间】:2014-08-10 23:42:48
【问题描述】:

我在 OpenShift 上使用从 Jekyll Cartridge 启动的应用程序,但在顶部运行 octopress(我想这是相同的区别)。

我想自动将所有 HTTP 请求重定向到 HTTPS。所以只能通过 HTTPS 查看。

我看不出有一种方法可以通过在 OpenShift 上提供的 Jekyll 使用墨盒来执行此操作。我可以通过修改我的 config.ru 文件在本地完成,但这对 OpenShift 没有影响。有没有办法在我的应用程序上强制执行此操作?

【问题讨论】:

    标签: ssl openshift jekyll


    【解决方案1】:

    如果您的应用由 apache 提供,您可以尝试在根目录下放置一个 .htaccess 文件,其中包含:

    RewriteEngine on  
    
    RewriteCond %{HTTP:X-Forwarded-Proto} !https  
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R,L]  
    

    来自openshift kb

    【讨论】:

    • 听起来不错,你知道“根”是什么吗?我已经尝试将它放入我的 repo 的根目录中(您还可以在其中找到 config.rb、_config.yml 等……但这似乎没有什么效果。我也将它放在“公共”中。我我可能会直视显而易见的:|
    • 尝试将您的 .htcaccess 重命名为 .htaccess
    • 哇...... djee,你能说什么......我猜需要新眼镜。
    • 嗯,抱歉,这似乎还不是。我仍然可以查看 HTTP 版本。不过,我似乎并不孤单:stackoverflow.com/questions/23906010/…(该帖子中的解决方案似乎不适用于 jekyll)。
    • 如果我在博客上生成 404,它会暴露其正在运行的 WEBrick/1.3.1。所以从这里我得出结论,它实际上并没有使用 apache,这可以解释为什么我的 .htaccess 没有被使用。不知道我对这个网络服务器有多大的影响。
    【解决方案2】:

    我设法解决了这个问题,我对它作为“解决方案”不太满意,但它确实有效,所以我将其发布。

    Jekyll 插件似乎使用 WEBrick 作为网络服务器,我无法很好地控制它以使其强制执行 SSL。

    基本上,我基于“Ruby 1.9”墨盒而不是 Jekyll 墨盒制作了一个新应用程序。这给了我一个 apache 托管应用程序。然后我不得不按照 David 之前的建议在我的 octopress 博客的源 (!) 文件夹中使用 .htaccess 文件:

    RewriteEngine on  
    
    RewriteCond %{HTTP:X-Forwarded-Proto} !https  
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R,L]  
    

    成功了。不过我认为这不是一个理想的解决方案,因此欢迎所有更好的解决方案。

    以下是我从 Jekyll 墨盒迁移到 Ruby 1.9 墨盒的所有细节:

    1. 使用 Ruby 1.9 Cartridge 创建一个新的 openshift 应用程序
    2. 将新的 openshift 应用程序的 git 存储库克隆到本地文件夹
    3. 将所有文件从原始存储库复制到这个新存储库
    4. 使用 Jekyll 重新生成(rake generate)
    5. 添加并提交所有内容
    6. 然后推送到 openshift(这应该会导致博客像以前一样工作)
    7. 与 github 仓库合并 (git pull)
    8. 将 github 添加为远程(并处理一些小冲突)

    现在我可以在我的仓库中工作并执行“git push”(到 openshift)和“git push”。

    强制 SSL:

    1. 在我的 octopress 博客的“源”文件夹中创建一个 .htaccess 文件并重新生成。

    注意:现在我必须确保在推送到 openshift 之前执行“rake generate”(尽管我想我可以在更新后在 openshift 上自动执行该操作)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多