66976


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

# 起きている問題

[![画像の説明をここに入力](https://i.stack.imgur.com/q4YLY.png)](https://i.stack.imgur.com/q4YLY.png)  
`nginx+unicorn+rails`でサーバの構築をし、`AWS`上の`EC2`に`ALB`を経由してアクセスを試みているのですが、上記のように『このサイトにアクセスできません』と表示されてしまいます。

# 確認したこと

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

[code]

    $ 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
    
[/code]

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

[code]

    $ 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
    
[/code]

・セキュリティグループの設定  
[![画像の説明をここに入力](https://i.stack.imgur.com/u3b0h.png)](https://i.stack.imgur.com/u3b0h.png)  
セキュリティグループ設定のインバウンドは８０番ポートを許可していることを確認しました。

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

[code]

    :
    config.force_ssl = false
    :
    
[/code]

・ローカル上、EC2上で『curl
[http://IPアドレス/](http://IP%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9/)』を打った時に下記が返ってくる

[code]

    $ 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>
    
[/code]

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

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

[code]

    $ 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"
    
[/code]

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

・ブラウザの履歴を削除  
[![画像の説明をここに入力](https://i.stack.imgur.com/GZAhT.png)](https://i.stack.imgur.com/GZAhT.png)  
ブラウザの履歴を削除したのですが、解決しませんでした。

# 関連ファイル

・coffee_app.conf(Nginxの設定ファイル)

[code]

    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;
        }
    } 
    
[/code]

・unicorn.conf.rb

[code]

      $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
    
[/code]

# 環境

Rails 5.1.6  
Ruby 2.5.1  
Unicorn 5.4.1  
Nginx 1.12.2


CC BY-SA 4.0
2020-05-18T22:52:16.323
66755
2020-05-25T13:01:14.180
2020-05-21T06:51:51.823
question
ruby-on-rails aws nginx unicorn
『このサイトにアクセスできません』と表示される


解決いたしました。

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

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

ご回答・ご確認してくださった方々、ありがとうございました。


CC BY-SA 4.0
2020-05-25T13:01:14.180
66976
2020-05-25T13:01:14.180
66755
answer