代码之家  ›  专栏  ›  技术社区  ›  Santosh Aryal

支持从Rails应用程序的资产服务器提供图像、样式表和Javascript

  •  0
  • Santosh Aryal  · 技术社区  · 7 年前

    通过将此配置从生产环境中转换过来,我从资产服务中启用了图像、样式表和Javascript服务。rb型

    config.action_controller.asset_host = 'https://assets.example.com'
    

    所有资产从 https://assets.example.com 当我单击资产链接时,从这个url中,会呈现404错误页面。我也为这个子域添加了一个DNS a记录。

    我正在使用Apache2和Mod Passenger。

    我很困惑。请给我建议正确的解决方案。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Santosh Aryal    7 年前

    我解决了它。

    我删除了资产子域的A记录,并创建了资产的cname记录,将其指向根域。

    CNAME assets is an alias of www.example.com 
    

    然后我添加了资产。实例com到示例。com。作为服务器别名的conf文件

    ServerAlias assets.example.com
    

    进一步防止资产流失。实例com从浏览本身开始,我添加了一个mod rewrite规则来重定向资产。实例com到www.example。com。

    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^example.com
    RewriteRule ^/(.*)$ https://www.example.com/$1 [L,R=301]
    RewriteCond %{HTTP_HOST} ^assets\.(.*)$ [NC]
    RewriteRule ^/(.*)$ https://www.example.com/$1 [L,R=301]
    </IfModule>
    

    现在开始工作了。