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

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

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

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

Ruby on Rails

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

AWK

AWKは、UNIX 上で開発されたプログラミング言語で、CSVファイルなどのテキストファイルの処理を目的にデザインされています。

Q&A

0回答

1528閲覧

nginxの起動はできているのに、ブラウザでアプリが表示されない

asm_t

総合スコア14

nginx

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

Ruby on Rails

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

AWK

AWKは、UNIX 上で開発されたプログラミング言語で、CSVファイルなどのテキストファイルの処理を目的にデザインされています。

1グッド

1クリップ

投稿2021/05/05 14:28

編集2021/05/06 15:26

前提・実現したいこと

プログラミング初心者です。
$ sudo service nginx startを実行しnginxを起動したにもかかわらず、アプリがブラウザ上に表示されません。
nginxを起動した後、$ sudo nginx -tを実行した結果が以下のとおりです。

nginx: [warn] conflicting server name "18.180.71.74" on 0.0.0.0:80, ignored nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

上記結果から、nginxの起動自体は問題ないと思うのですが、何故ブラウザ上で表示されないのかが分かりません。

https://xx.xxx.xx.xx(IPアドレス) を実行した結果

イメージ説明

https://ドメイン名 を実行した結果

イメージ説明

AWSの状況

①EC2/インスタンス
イメージ説明

②インスタンスに使われているセキュリティグループ
イメージ説明

気になる点

・Route53を使っていないこと
・EC2 > Target groups を作成していないこと
・ロードバランサー を作成していないこと

補足情報(FW/ツールのバージョンなど)

macOs Catalina 10.15.7
Nginx 1.16.1
Unicorn 6.0.0
Rails 6.0.3
Ruby 2.7.2p137

「気になる点」に記載したような部分を作成していないから、アプリがブラウザ上に表示されないのでしょうか...。
どなたかご教示いただけますと幸いです。
よろしくお願いいたします。

shinoharat👍を押しています

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

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

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

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

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

TaichiYanagiya

2021/05/06 06:01

http://18.180.71.74/ (TCP 80) にはアクセスできるのですか? ロードバランサーを用意していないのであれば、HTTP(TCP 80) とともに HTTPS(TCP 443) も Nginx 側で受け付ける設定が必要があります。 セキュリティグループで許可も必要。 ロードバランサーを作成していないのに、Route53 の A レコードにはなぜ ELB を設定しているのでしょうか?
asm_t

2021/05/06 15:40 編集

TaichiYanagiya様 コメントいただきありがとうございます。 http://18.180.71.74/ へは、アクセスすることができません。 ロードバランサーを作成していないのに、Route53 の A レコードにはなぜ ELB を設定しているのでしょうか? >>こちら少し前に自分で試行錯誤していた際作成したものが削除し忘れにより残っておりました。 紛らわしいのでRoute53を削除し、上記投稿内容も修正させていただきました。 ロードバランサーを用意していないのであれば、HTTP(TCP 80) とともに HTTPS(TCP 443) も Nginx 側で受け付ける設定が必要があります。 セキュリティグループで許可も必要。 >>はい、ロードバランサーを用意しておりません。そのため、アドバイスいただいたとおり、HTTPとHTTPSをNginx側で受け付ける設定、セキュリティグループで許可する設定をしたいのですが、勉強不足で理解が追いついておりません...。 質問ばかりで大変恐縮ですが、Nginx側で設定するのと、ロードバランサーで設定するのでは、どちらのほうが好ましい等ありますでしょうか? また、もしも参考になりそうな記事がございましたら、ご共有いただけますと大変ありがたいです。 よろしくお願いいたします。
TaichiYanagiya

2021/05/06 22:27

EC2 インスタンスの OS で、ファイアーウォールなどで制限されていないでしょうか? EC2 インスタンスのシェルから "curl http://127.0.0.1/", "curl -k https://127.0.0.1/"で応答はありますか? 設定や、外部から/インスタンス内部から、http/https でそれぞれアクセスを試みたときのログがあると、何かわかるかもしれません。 また、セキュリティグループで TCP 443 番ポートを許可していないので、https では繋がらないはずですが、503?
asm_t

2021/05/07 16:42 編集

TaichiYanagiya様 以下コマンドでfirewalldの状態を確認してみましたが、firewalldは存在しないと返ってきたので恐らく制限の問題はないはずです。 $ systemctl status firewalld ⇒ Unit firewalld.service could not be found. EC2インスタンスのシェルから "curl http://127.0.0.1/", "curl -k https://127.0.0.1/"を実行しましたが、何も返ってこなかったです...。 セキュリティグループで TCP443番ポートを許可していないとのご指摘ありがとうございます。 以下のとおり、443ポートを追加いたしました。 タイプ HTTPS プロトコル TCP ポート範囲 443 ソース 0.0.0.0/0 すると2点変化がありました! ①http://18.180.71.74/にアクセスしたら一瞬で「このサイトにアクセスできません」の結果が表示されるようになった(443ポート追加前までは1分以上はかかっていた) ②https://FQDNにアクセスしたら、「このサイトにアクセスできません ●●●●.comにタイプミスがないか確認してください DNS_PROBE_FINISHED_NXDOMAIN」の結果が表示されるようになった(以前は503 Service Temporarily Unavailableと表示されていました。でも、もしかしたら、先日Route53を削除したのでそちらの影響かもしれないです) 設定や、外部から/インスタンス内部から、http/https でそれぞれアクセスを試みたときのログがあると、何かわかるかもしれません。 >>>インスタンスの外部とはローカル環境のことを指しますでしょうか?またログの出し方を教えていただけますとありがたいです。 色々とアドバイスをいただき本当に助かっております。ありがとうございます。
TaichiYanagiya

2021/05/08 01:38

セキュリティグループで 443 番ポートを許可したら http:// (80 番ポート) の応答に変化? そんなはずはないと思うのですが、現在の状況について、一旦、整理しましょう。 EC2 インスタンスの OS・バージョンは何ですか? firewalld ではなく、別のツールかもしれません。 現在の nginx のバージョン、設定を教えてください。 ドメイン、DNS の設定も不十分のようですが、まずは、http://18.180.71.74/、次に https://18.180.71.74/ でアクセスできるところを目指しましょう。
asm_t

2021/05/08 11:13

TaichiYanagiya様 返信が遅くなりました。 https://www.amazon.co.jp/dp/4296105442 上記本を読みながらDNSサーバーを構築しました。パブリックDNSを用いてWebブラウザからアクセスしてみましたが、やはり結果は変わらず以下のとおりでした。 「このサイトにアクセスできません 18.180.71.74 で接続が拒否されました。 次をお試しください 接続を確認する プロキシとファイアウォールを確認する ERR_CONNECTION_REFUSED」 でもそれよりもまずはTaichiYanagiya様の仰るとおり、http://18.180.71.74/、 https://18.180.71.74/ でアクセスできるようにしたいです。 インスタンスのスクリーンショットから、OS やバージョン番号を確認しました。 以下のとおりです。 【インスタンスのスクリーンショットの中身】 Amazon Linux 2 Kernel 4.14.231-173.261.amzn2.x86_64 on an x86_64 ip-10-0-0-248 login: _ またnginxの詳細については、以下のとおりです。 nginx version: nginx/1.16.1 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) built with OpenSSL 1.1.1c FIPS 28 May 2019 (running with OpenSSL 1.1.1g FIPS 21 Apr 2020) TLS SNI support enabled configure arguments: --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx --with-file-aio --with-ipv6 --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-stream_ssl_preread_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-http_perl_module=dynamic --with-http_auth_request_module --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-google_perftools_module --with-debug --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --with-ld-opt='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-E' 何かお気づきのことがございましたら、ご教示いただけますと幸いです。
asm_t

2021/05/08 21:25

TaichiYanagiya様 連投失礼いたします。 unicorn.conf.rbとアプリ名.confの中に記載していた「unicorn.sock」を「.unicorn.sock」と記載してしまっていたことに気づき修正したところ、 EC2インスタンスのシェルから "curl http://127.0.0.1/", "curl -k https://127.0.0.1/"を実行した結果、以下が返ってきました。 【$ curl http://127.0.0.1/の結果】 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Welcome to Amazon Linux 2</title> <style rel="stylesheet" type="text/css"> html { background-color: white; font-family: "DejaVu Sans", "Liberation Sans", sans-serif; margin: 10% 20%; } body { margin:0; padding:0; background: white; } a { color: #007eb9; } </style> </head> <body> <p>Thank you for using <a href="https://aws.amazon.com/amazon-linux-2/">Amazon Linux 2</a>.<p> <p>Now that you have it installed, find announcements and discussion in <a href="https://forums.aws.amazon.com/forum.jspa?forumID=228">the AWS Discussion Forums</a>. Also try <a href="https://aws.amazon.com/documentation/">AWS documentation</a>.</p> </body> </html> 【curl -k https://127.0.0.1/の結果】 curl: (7) Failed to connect to 127.0.0.1 port 443: Connection refused この結果からわかることがございましたら、是非ご教示いただけますと幸いです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問