現在、Rails でローカル IP アドレスの検出 (ifconfig、tracepath などを使用) を行って、Rails と同じマシンでホストされているグラフ作成アプリケーションにアクセスしています。「自己 IP アドレス」は Rails の起動時に検出され、一度だけ実行されます。ユーザーがホスト名と IP アドレスの両方を使用して Apache/Rails サーバーにアクセスできると仮定すると、request.host
(ユーザーがアプリケーションにログインした後)<img>
タグで URL を作成するために安全に使用できます (基本的には、グラフ作成アプリケーションによって返される画像です)。 IPv4 と IPv6 の両方の環境で? 現在、以下に示すように、IPv4 アドレスに対して機能します。
class ApplicationController < ActionController::Base
CHARTS_BASE = ''
def set_chart_url
chart_url = MYAPP_CONFIG["chart_base"]
chart_url.gsub!("$chart_host", request.host)
CHARTS_BASE.replace(chart_url + 'charts?')
end
class ReportController < ApplicationController
before_filter :set_chart_url
意見:
<div>
<img src="<%=CHARTS_BASE + @opt_graph-%>" alt="Graph"/>
</div>
IPv6 でも同じことができますか? request.host
URLでホスト名またはIPv6アドレスを使用してRailsに接続する場合、IPv6環境ではどのように見えますか?
Rails を IPv6 環境で実行している人なら誰でも上記のことを検証できると思いました。ありがとう。