ブラウザからwebサーバーへアクセスできず困っています。
#概要
以前AWSへデプロイしていたアプリを再びAWSへデプロイすると、ブラウザからアクセス時
「このサイトへアクセスできません。(IPアドレス)で接続が拒否されました。」と表示されます。
原因を探ったのですが解決に至らなかったので助力願います。
#解決したいこと
アプリケーションをデプロイし、ブラウザからアクセスしたい。
webサーバーまではアクセスできているが、アプリケーションサーバー(puma)へのアクセスを確認できていないので、
ひとまずアプリケーションサーバーへつながる様にする。
#確認したこと・試したこと
- nginxを入れた直後はアクセスできました。
nginxを入れた直後はブラウザからアクセスできました。(テスト用に作ったindex.htmlを表示できた)
その後
・ImageMagickインストール
・RubyとRailsをインストール
・git からアプリケーションをpull
・master.keyと.envをEC2サーバへ移動
・bundle install 、asset compile 、db:migrateを実行
・nginx設定ファイル、アプリケーション設定ファイルを編集
・pumaを起動
その後ブラウザからアクセスすると拒否されました。
- nginxのaccess.logを確認
IPアドレスでブラウザからでアクセスするたびにログは残っています。
- nginx、アプリケーションのerror.logを確認
ブラウザからアクセスしてもどちらもログは残りません。
- 80番ポートの開放確認
AWSのセキュリティグループを再度確認しましたが、下記の通り開放されています。
80 TCP 0.0.0.0/0
80 TCP ::/0
22 TCP 0.0.0.0/0
443 TCP 0.0.0.0/0
443 TCP ::/0
- cURLコマンド
$ curl -I http://(IPアドレス)/
HTTP/1.1 301 Moved Permanently
Server: nginx/1.18.0
Date: Sat, 02 Jan 2021 10:55:10 GMT
Content-Type: text/html
Connection: keep-alive
Location: https://(IPアドレス)]/
-Iオプションなしで実行すると何も帰ってきません。
#ソースコード
$ sudo vi /etc/nginx/conf.d/ALLE_IDEA.conf upstream puma { server unix:///home/ec2-user/(アプリ名)/tmp/sockets/puma.sock; } server { listen 80; server_name (IPアドレス); root /home/ec2-user/(アプリ名)/public; access_log /var/log/nginx/access.log main; error_log /var/log/nginx/error.log; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; client_max_body_size 100M; include /etc/nginx/mime.types; location / { proxy_pass http://puma; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_redirect off; proxy_connect_timeout 30; } location ^~ /assets/ { gzip_static on; expires max; add_header Cache-Control public; root /home/ec2-user/(アプリ名)/public; } }
$ sudo vi /etc/nginx/nginx.conf # user nginx; user ec2-user; worker_processes auto; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 4096; include /etc/nginx/mime.types; default_type application/octet-stream; # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; #index index.html index.htm; server { listen 80 default_server; listen [::]:80 default_server; server_name localhost; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; # redirect server error pages to the static page /40x.html # error_page 404 /404.html; location = /40x.html { } # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html;
#実行環境
クラウド:AWS
仮想サーバ:EC2
wobサーバ:nginx
アプリケーション・サーバ: :puma
アプリケーション開発言語:Ruby(Ruby on Rails)
よろしくお願いします。
あなたの回答
tips
プレビュー