質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Redash

Redash(Re:dash)は、ダッシュボードツールでOSSで提供されています。Python製やBigQuery/MySQL/PostgreSQLなどのデータストアに対応。クエリを設定することで結果をデータリストにしたり、グラフプロットすることができます。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Q&A

0回答

689閲覧

nginxでプロキシした際にcss, js, images, fontsが取得できない

Unimal

総合スコア7

docker-compose

docker-composeとは、複数のコンテナで構成されるサービスを提供する手順を自動的し管理を簡単にするツール。composeファイルを使用しコマンド1回で設定した全サービスを作成・起動することが可能です。

Redash

Redash(Re:dash)は、ダッシュボードツールでOSSで提供されています。Python製やBigQuery/MySQL/PostgreSQLなどのデータストアに対応。クエリを設定することで結果をデータリストにしたり、グラフプロットすることができます。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

0グッド

0クリップ

投稿2017/12/26 03:40

編集2017/12/26 04:45

###前提・実現したいこと
AWSの1つのインスタンス内に, RailsアプリとRedashの2つのアプリがあり、それぞれを

hoge.com/ -> Railsアプリ hoge.com/redash -> Redashアプリ

とプロキシしてほしいのですが、Redashへプロキシされた際にjs, css, images, fontsが読み込まれません。

イメージ説明

/js/hoge.jsを取りに行っており、該当ファイルがなくてエラーが出てしまいます。
これを/redash/js/hoge.jsへ取りに行ってほしいのです。

###現状のnginx.conf
Railsアプリとnginx.confはUnixドメインソケットで接続されいます。
またdocker-composeでRailsとRedashは動いているため, upstreamに書いてあるredash-server:5000でredashへ飛べます。

upstream puma { server unix:/opt/app/tmp/sockets/puma.sock; } upstream redash_servers { server redash-server:5000; } server { listen 80; root /opt/app/public; client_max_body_size 50M; error_page 404 422 500; if ($http_x_forwarded_port = 80) { return 301 https://$host$request_uri; } location ^~ /redash/ { proxy_pass http://redash_servers/; } location ~ .*.(jpg|JPG|gif|GIF|png|PNG|swf|SWF|css|CSS|js|JS|inc|INC|ico|ICO|js.html|otf) { access_log off; index index.html; ssi on; expires 180s; break; } location / { try_files $uri $uri/index.html $uri.html @puma; } location @puma { if ($request_uri = /health_check) { access_log off; } proxy_redirect off; proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto; proxy_set_header X-Forwarded-Port $http_x_forwarded_port; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $http_x_forwarded_for; proxy_set_header X-Forwarded-For $http_x_forwarded_for; proxy_pass http://puma; } }

###試したこと
proxy_set_header Host $http_host;の記述
/redashでログイン画面へリダイレクトされるが、その際に/redash/loginではなく/loginへリダイレクトされてしまいRailsの404が表示される

お分かりになる方がおられましたら、お教え頂ければ嬉しく思います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Unimal

2017/12/26 03:56

location ^~ /redash/のproxy_passをhttp://puma/ということですよね? そうすると/redashでrailsアプリに飛ばされてしまいます><
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問