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

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

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

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+Railsの構成を取って用います。

nginx

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

2回答

3669閲覧

『このサイトにアクセスできません』と表示される

ryouya

総合スコア14

unicorn

Unicornは、汎用のRackアプリケーションサーバ。RackとWebサーバーの機能を併せ持ちます。レスポンス処理や、Nginx単体がRackの機能をサポートしていない事から、一般的にはNginx+Unicorn+Railsの構成を取って用います。

nginx

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

1クリップ

投稿2020/05/18 22:49

編集2020/05/21 06:26

お世話になっております。
下記の問題で知見がある方がいらっしゃいまいたらご教示お願いします。

#起きている問題
イメージ説明
nginx+unicorn+railsでサーバの構築をし、AWS上のEC2ALBを経由してアクセスを試みているのですが、上記のように『このサイトにアクセスできません』と表示されてしまいます。

#確認したこと
####Nginxが起動していることを確認

$ ps aux | grep nginx root 4855 0.0 0.2 125708 2192 ? Ss 20:48 0:00 nginx: master process /usr/sbin/nginx nginx 4857 0.0 0.4 126140 4976 ? S 20:48 0:00 nginx: worker process ryouya 4968 0.0 0.0 119436 944 pts/0 S+ 21:10 0:00 grep --color=auto nginx

####Unicornが起動していることを確認

$ cat unicorn.log : : I, [2020-05-18T20:21:22.358485 #4510] INFO -- : reaped #<Process::Status: pid 4518 exit 0> worker=0 I, [2020-05-18T20:21:22.358671 #4510] INFO -- : reaped #<Process::Status: pid 4520 exit 0> worker=1 I, [2020-05-18T20:21:22.358736 #4510] INFO -- : master complete I, [2020-05-18T20:21:24.819228 #4697] INFO -- : Refreshing Gem list I, [2020-05-18T20:21:26.788253 #4697] INFO -- : unlinking existing socket=/var/www/rails/coffee_app/tmp/sockets/.unicorn.sock I, [2020-05-18T20:21:26.788432 #4697] INFO -- : listening on addr=/var/www/rails/coffee_app/tmp/sockets/.unicorn.sock fd=11 I, [2020-05-18T20:21:26.843668 #4697] INFO -- : master process ready I, [2020-05-18T20:21:26.850775 #4707] INFO -- : worker=1 ready I, [2020-05-18T20:21:26.851214 #4705] INFO -- : worker=0 ready $ ps -ef | grep unicorn | grep -v grep ryouya 4697 1 0 20:21 ? 00:00:01 unicorn_rails master -c /var/www/rails/coffee_app/config/unicorn.conf.rb -D -E production ryouya 4705 4697 0 20:21 ? 00:00:00 unicorn_rails worker[0] -c /var/www/rails/coffee_app/config/unicorn.conf.rb -D -E production ryouya 4707 4697 0 20:21 ? 00:00:00 unicorn_rails worker[1] -c /var/www/rails/coffee_app/config/unicorn.conf.rb -D -E production

####セキュリティグループの設定
イメージ説明
セキュリティグループ設定のインバウンドは80番を許可していることを確認しました。

####ssl設定をfalseに設定していることを確認(まだssl証明書を発行してないため)
config/environments/production.rb

: config.force_ssl = false :

####ローカル上、EC2上で『curl http://IPアドレス/』を打った時に下記が返ってくる

$ curl http://IPアドレス/ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <title>Test Page for the Nginx HTTP Server on Amazon Linux</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <style type="text/css"> /*<![CDATA[*/ body { background-color: #fff; color: #000; font-size: 0.9em; font-family: sans-serif,helvetica; margin: 0; padding: 0; } :link { color: #c00; } :visited { color: #c00; } a:hover { color: #f50; } h1 { text-align: center; margin: 0; padding: 0.6em 2em 0.4em; background-color: #294172; color: #fff; font-weight: normal; font-size: 1.75em; border-bottom: 2px solid #000; } h1 strong { font-weight: bold; font-size: 1.5em; } h2 { text-align: center; background-color: #3C6EB4; font-size: 1.1em; font-weight: bold; color: #fff; margin: 0; padding: 0.5em; border-bottom: 2px solid #294172; } hr { display: none; } .content { padding: 1em 5em; } .alert { border: 2px solid #000; } img { border: 2px solid #fff; padding: 2px; margin: 2px; } a:hover img { border: 2px solid #294172; } .logos { margin: 1em; text-align: center; } /*]]>*/ </style> </head> <body> <h1>Welcome to <strong>nginx</strong> on Amazon Linux!</h1> <div class="content"> <p>This page is used to test the proper operation of the <strong>nginx</strong> HTTP server after it has been installed. If you can read this page, it means that the web server installed at this site is working properly.</p> <div class="alert"> <h2>Website Administrator</h2> <div class="content"> <p>This is the default <tt>index.html</tt> page that is distributed with <strong>nginx</strong> on Amazon Linux. It is located in <tt>/usr/share/nginx/html</tt>.</p> <p>You should now put your content in a location of your choice and edit the <tt>root</tt> configuration directive in the <strong>nginx</strong> configuration file <tt>/etc/nginx/nginx.conf</tt>.</p> </div> </div> <div class="logos"> <a href="http://nginx.net/"><img src="nginx-logo.png" alt="[ Powered by nginx ]" width="121" height="32" /></a> </div> </div> </body> </html>

※ローカル上、EC2上でも結果は変わりませんでした。

####nginx.access.logでは正常に応答していることを確認

$ tail nginx.access.log 10.0.0.229 - - [18/May/2020:20:21:02 +0000] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/2.0" 10.0.1.250 - - [18/May/2020:20:21:03 +0000] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/2.0" 10.0.0.229 - - [18/May/2020:20:21:12 +0000] "GET / HTTP/1.1" 200 3520 "-" "ELB-HealthChecker/2.0"

####nginx.error.log、unicorn.log
上記ファイルについてはWebにアクセスした際にエラーは出力されていませんでした。

####ブラウザの履歴を削除
イメージ説明
ブラウザの履歴を削除したのですが、解決しませんでした。
#関連ファイル
####coffee_app.conf(Nginxの設定ファイル)

error_log /var/www/rails/coffee_app/log/nginx.error.log; access_log /var/www/rails/coffee_app/log/nginx.access.log; upstream unicorn_server { server unix:/var/www/rails/coffee_app/tmp/sockets/.unicorn.sock fail_timeout=0; } server { listen 80; client_max_body_size 4G; server_name 54.250.29.214; keepalive_timeout 5; # Location of our static files root /var/www/rails/coffee_app/public; location ~ ^/assets/ { root /var/www/rails/coffee_app/public; } location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; if (!-f $request_filename) { proxy_pass http://unicorn_server; break; } } error_page 500 502 503 504 /500.html; location = /500.html { root /var/www/rails/coffee_app/public; } }

####unicorn.conf.rb

$worker = 2 $timeout = 30 $app_dir = "/var/www/rails/coffee_app" $listen = File.expand_path 'tmp/sockets/.unicorn.sock', $app_dir $pid = File.expand_path 'tmp/pids/unicorn.pid', $app_dir $std_log = File.expand_path 'log/unicorn.log', $app_dir # set config worker_processes $worker working_directory $app_dir stderr_path $std_log stdout_path $std_log timeout $timeout listen $listen pid $pid # loading booster preload_app true # before starting processes before_fork do |server, worker| defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect! old_pid = "#{server.config[:pid]}.oldbin" if old_pid != server.pid begin Process.kill "QUIT", File.read(old_pid).to_i rescue Errno::ENOENT, Errno::ESRCH end end end after_fork do |server, worker| defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection end

#環境
Rails 5.1.6
Ruby 2.5.1
Unicorn 5.4.1
Nginx 1.12.2

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

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

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

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

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

guest

回答2

0

自己解決

解決いたしました。

■原因1
Nginx設定ファイルの格納パスを間違えていた。
■解決方法
rootパスから/etc/nginx/conf.d/直下に格納したら解決しました。

■原因2
・httpsで検索していたため
http://IPアドレス/で検索を行なっていたのですが、検索フォームで自動的にhttps://IPアドレス/となっていたためうまくいっていなかったみたいです。
■解決方法
Google Clomeの閲覧履歴データの削除からキャッシュされた画像のデータを削除したら解決しました。

投稿2020/05/25 13:01

ryouya

総合スコア14

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

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

ikore908

2022/03/13 01:56

助かりました。ありがとうございます。 ブラウザの設定で`Always Show Full URLs`といった項目をオンにするとこのミスにより気づけそうなこと共有です。
guest

0

time out なので、Web サーバまでの経路上のどこかで、パケットが破棄されている可能性が高いです。(一般的に、Web サーバまでパケットが届いていません。)
経路上のフィルタ機能を持つ箇所(ファイアウォール等)を確認してみてください。

curl で正しくコンテンツが取れているようなので、ブラウザに設定した proxy が何らかの破棄を行っている可能性もあります。

ブラウザと、コマンドラインでの挙動の違い(経路の違い)を確認すると切り分けが進むと思います。

投稿2020/05/18 23:08

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

ryouya

2020/05/19 06:16

ご回答ありがとうございます。ご教示いただいた点を確認してみます。
退会済みユーザー

退会済みユーザー

2020/05/19 12:41

ではブラウザの挙動と CLI の挙動の違いを中心に確認してください。 PROXY な気もしますが、サーバ側の Firewall で 443 を閉じているのであれば、HSTS なんかも候補に上がるかなぁ。。。 もし、HSTS なら以下でブラウザの履歴を削除できるようです。 https://ex-cloud.jp/support/question/q-844
ryouya

2020/05/20 05:00

ご回答ありがとうございます。ご教示いただいた点を確認してみます。
ryouya

2020/05/21 06:12

>ではブラウザの挙動と CLI の挙動の違いを中心に確認してください お恥ずかしながら挙動の違いについて、具体的にどのようなことをすればいいのかがわかりません。 ご教示いただけると幸いですm(_ _)m >もし、HSTS なら以下でブラウザの履歴を削除できるようです。 また、ブラウザの削除は行いましたが解決はしませんでした。 新しく確認したこととして、 セキュリティグループ設定でインバウンドを確認したのですが80番ポートが許可されていることは確認しました。
退会済みユーザー

退会済みユーザー

2020/05/21 09:38

> お恥ずかしながら挙動の違いについて、具体的にどのようなことをすればいいのかがわかりません。 差分の確認にはパケットのキャプチャが適切だと思います。が、しんどいので、まずはブラウザの開発ツールのネットワークタブから、リクエスト/レスポンスが curl のモノと差がないか確認すると良いです。
ryouya

2020/05/21 09:56

ご回答ありがとうございます。 ご教示いただいた点を中心に確認をとってみますm(_ _)m
ryouya

2020/05/25 12:34

こちら解決いたしました。 回答・確認してくださりありがとうございましたm(_ _)m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問