nginx 从rails 反向代理到wordpress

2024-01-09

我有一个 Ruby on Rails 应用程序和一个托管在不同 EC2 实例上的 Wordpress 博客。

我正在尝试使 Wordpress 博客充当 Rails 应用程序的子文件夹(example.com/blog 而不是 blog.example.com),以实现更好的 SEO

  • Rails应用程序可以通过http和https访问(http正在重定向到https)

https://www.nginx.com/resources/admin-guide/reverse-proxy/ https://www.nginx.com/resources/admin-guide/reverse-proxy/

我尝试使用 nginx 反向代理功能,我认为这是我现在最好的选择,但我的尝试不成功。

  1. 博客的主页按预期打开 (example.com/blog),但是 没有CSS。
  2. 带有争论的 URL (example.com/blog/args) 将我重定向回 Rails 应用程序 (example.com/args)

我在 wp-config.php 中设置所需的博客 URL,如下所示:

define('WP_SITEURL', 'https://www.example.com/blog');
define('WP_HOME', 'https://www.example.com/blog');

这是我使用的 nginx 配置:

  location ^~ /blog {
   proxy_pass http://<<BLOGIP>>/blog;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
  • https://github.com/waterlink/rack-reverse-proxy https://github.com/waterlink/rack-reverse-proxy
    我也尝试过 rack-reverse-proxy gem 但得到了相同的结果

对于 Rails 应用程序和 Wordpress 博客来说,出于自动扩展、冗余和部署目的保持分离非常重要。

如果有其他方法可以实现这一目标,我愿意接受建议。


在 Tarun Lalwani 的帮助下解决了

  1. WordPress 应该可以从

    博客IP/博客

  2. example.com 上的 nginx 配置

      location ^~ /blog {
        proxy_pass http://<<blog-ip>>/blog;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    
        proxy_redirect http://<<blog-ip>>/ https://$host/;
        proxy_cookie_domain <<blog-ip>> $host;
      }
    
  3. 将其添加到 wp-config.php

    define('FORCE_SSL_ADMIN', true);
    
    if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
        $_SERVER['HTTPS']='on';
    
  4. 更改了网址

    define('WP_SITEURL', 'https://www.example.com/blog');
    define('WP_HOME', 'https://www.example.com/blog');
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nginx 从rails 反向代理到wordpress 的相关文章

随机推荐

  • 查找 R 中分组数据帧中前 n 个表示的条目

    我是 R 的初学者 非常感谢您的回复 因为我被困在这段代码上 这是我解决问题的尝试 但它不起作用 personal spotify df lt fromJSON data StreamingHistory0 json personal sp
  • 无法读取 Ionic 中未定义错误的属性“清单”

    我正在尝试使用 Firebase 登录 Facebook 我已经安装了所需的所有库并完成了所需的配置 尽管如此 每当我尝试启动我的应用程序时 它都会给我这个错误 node 11160 UnhandledPromiseRejectionWar
  • Rspec 渲染文本

    我有这个代码 if temp user save sign in user temp user render text OK else render text render to string partial gt errors end 我
  • ORACLE 触发器错误

    我有一个性感的触发器 它从字段 REFERENT 中获取值 解析它 在某个视图中找到一行 并将一些数据填充到需要插入的原始行 然后我还重写 REFERENT 字段并消除额外的数据 REFERENT 字段如下所示 XXX 123 其中 123
  • 使一个类的一个实例与另一个类的实例相等。 – 如何取消?

    I have instance1 instance2 如何将它们彼此断开 以便更改其中一个不会影响另一个 编辑 我希望它们引用同一个对象 所以我无法克隆 后来 不是 但我仍然想要该类的两个实例 所以我不能将它们 清空 Thanks EDIT
  • 了解画布和表面概念

    我正在努力理解绘图的过程SurfaceView因此整个Surface Canvas Bitmap系统 用于Android 我已经阅读了所有文章和 API 文档页面 我可以在 android developers 网站上找到它们 一些 and
  • 在android中从类的一些字段创建parcelable

    我有以下课程 我打算将其从一项活动传递到另一项活动 public class Ad extends ListItem implements parcelable private String type private String reco
  • .Net 3.5 上的 Web 服务客户端应用程序的 SSL 和过时的 TLS(1.0 和 1.1)

    根据 PCI 我们需要从 2016 年 6 月 30 日起停止使用 SSL 和 TLS 在某些实施中为 1 0 和 1 1 http blog securitymetrics com 2015 04 pci 3 1 ssl and tls
  • 当数据库日志记录信息应用于每个 Crystal Reports 部分时,应用程序运行缓慢

    目前 我使用以下方法将连接信息分配给所有报告部分 但由于报告中有很多部分 因此报告会在大约 10 秒后显示 这看起来真的很慢 当安装在客户端时 是否有其他方法可以一次性为每个 CR 设置登录信息 JFYI 所有 CR 使用相同的登录凭据连接
  • unique_ptr 具有需要原始指针的 API?

    使用托管内存和函数式语言大约 10 年之后 我终于回到了 C 智能指针让我感到困惑 一半的文档仍然是关于已弃用的auto ptr 我正在尝试实现这个相当简单的项目符号 你好世界 http bulletphysics org mediawik
  • 具有通配符类型参数的 Map 上的 flatMap

    我正在尝试写这样的东西 trait Typed T trait Test def testMap Map Typed Int def test testMap flatMap case typed size gt Seq fill size
  • 如何在Vuex中深度克隆状态并回滚?

    在 Vuex 中 我想拍摄树中对象属性的快照 克隆 修改它 然后可能回滚到以前的快照 背景 在应用程序中 用户可以在应用某些更改之前尝试它们 应用更改时 它们应该影响主 vuex 树 用户还可以单击 取消 放弃更改并返回到之前的状态 Exa
  • 相关查找字段外键在内联 Django 中不起作用

    我的 tabularinline 字段有问题 我有这样的模型 class Product models Model class Pemesanan models Model produks models ManyToManyField Pr
  • axios 在 componentDidMount 中获取数据后如何拍摄笑话快照?

    要测试的组件 class Carousel extends React Component state slides null componentDidMount gt axios get https s3 amazonaws com ra
  • 拖动数据点并提交值

    On page jqPlot http www jqplot com deploy dist examples customHighlighterCursorTrendline html有一个在 jqPlot 图表上拖动数据点的示例 我如何
  • Ajax v. 在 HTML 中包含数据

    我将 JavaScript 与 jQuery 结合使用 与 Django 后端对话 有一些 UI 需求需要 Ajax 因为在用户提供一些输入之前我们无法知道要发送哪些数据 然而 还有其他在模板时已知的数据 直接将该数据包含在模板中而不是使用
  • PHP ↔ Perl 接口或绑定

    您推荐哪种 PHP Perl 接口或绑定 我需要能够从 PHP 脚本运行位于 Perl 文件中的 Perl 函数并获取返回值 我已经找到了PECL perl 包 http pecl php net package perl但我不确定它的可靠
  • 64 位上 int 与 size_t

    将代码从 32 位移植到 64 位 很多地方都有 int len strlen pstr 这些现在都会生成警告 因为 strlen 返回 64 位的 size t 而 int 仍然是 32 位 所以我一直用它们替换 size t len s
  • 如何在提取文本之前识别可能损坏的 pdf 页面?

    TL DR 我的工作流程 下载PDF 使用将其拆分为页面pdftk https linux die net man 1 pdftk 使用提取每个页面的文本pdf转文本 https linux die net man 1 pdftotext
  • nginx 从rails 反向代理到wordpress

    我有一个 Ruby on Rails 应用程序和一个托管在不同 EC2 实例上的 Wordpress 博客 我正在尝试使 Wordpress 博客充当 Rails 应用程序的子文件夹 example com blog 而不是 blog ex