首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenShift和Jekyll Cartridge Force SSL

OpenShift和Jekyll Cartridge Force SSL
EN

Stack Overflow用户
提问于 2014-08-10 23:42:48
回答 2查看 193关注 0票数 1

我在OpenShift上使用了一个从Jekyll开始的应用程序,但是在上面运行octopress (我想这是相同的区别)。

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

我看不出有什么方法可以让Jekyll在OpenShift上使用墨盒来完成这个任务。我可以通过修改我的config.ru文件在本地完成它,但这对OpenShift没有影响。有办法在我的申请中强制这样做吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-29 22:47:58

我设法解决了这个问题,我不太满意它作为一个“解决方案”,但它的工作,所以我张贴它。

Jekyll墨盒似乎使用WEBrick作为get服务器,我无法很好地控制它,使它执行SSL。

基本上,我制作了一个基于“Ruby1.9”墨盒的新应用程序,而不是Jekyll墨盒。这给了我一个apache托管应用程序。然后,我不得不按照大卫前面的建议,在源代码(!)中使用.htaccess文件我的章鱼博客文件夹:

代码语言:javascript
复制
RewriteEngine on  

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

这招成功了。我不认为这是一个理想的解决方案,所以所有更好的解决方案都是受欢迎的。

以下是我为从Jekyll墨盒移动到Ruby1.9 cartridge所做的详细工作:

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

现在,我可以在我的回购和执行"git推送“(对openshift)和"git推送”。

强制SSL:

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

注意:现在我必须确保在我推到openshift之前做"rake generate“(虽然我想我可以在openshift更新之后将其自动化)。

票数 1
EN

Stack Overflow用户

发布于 2014-08-12 07:37:33

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

代码语言:javascript
复制
RewriteEngine on  

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

来自openshift kb

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25234089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档