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

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

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

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

Q&A

解決済

2回答

4482閲覧

EC2のプライベートサブネットにwebサーバーを置き、ブラウザ表示したい

hujio362

総合スコア5

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Amazon EC2

Amazon EC2は“Amazon Elastic Compute Cloud”の略称です。Amazon Web Services(AWS)の一部であり、仮想化されたWebサーバーのコンピュータリソースをレンタルできるサービスです。

0グッド

0クリップ

投稿2021/07/25 14:59

編集2021/08/18 01:34

前提・実現したいこと

  • EC2のコンソールは使用できません。
  • 踏み台サーバーを使用し、外部からプライベートサブネットにプライベートIPでssh接続をしています。

EC2のプライベートサブネットにwebサーバーを構築、アプリを展開し、ブラウザに表示したいです。

発生している問題・エラーメッセージ

ブラウザに踏み台サーバーのパプリックIPでアクセスしようとすると、502エラーが表示されます。

/var/log/httpd/error_log

[Sun Jul 25 10:25:43.449127 2021] [suexec:notice] [pid 17497] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) [Sun Jul 25 10:25:43.458069 2021] [lbmethod_heartbeat:notice] [pid 17497] AH02282: No slotmem from mod_heartmonitor [Sun Jul 25 10:25:43.458095 2021] [http2:warn] [pid 17497] AH10034: The mpm module (prefork.c) is not supported by mod_http2. The mpm determines how things are processed in your server. HTTP/2 has more demands in this regard and the currently selected mpm will just not do. This is an advisory warning. Your server will continue to work, but the HTTP/2 protocol will be inactive. [Sun Jul 25 10:25:43.459542 2021] [mpm_prefork:notice] [pid 17497] AH00163: Apache/2.4.48 () configured -- resuming normal operations [Sun Jul 25 10:25:43.459558 2021] [core:notice] [pid 17497] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'

access_logには記録がありませんでした。

試したこと

  • 踏み台インスタンスとプライベートインスタンスの起動の確認
  • apacheの起動を確認
  • ウェブサーバーがポート 80 または 443 でユーザーからの受信接続リクエストをリッスンしていることを確認
$ sudo netstat -tulpn | grep httpd tcp6 0 0 :::80 :::* LISTEN 17497/httpd
  • OS レベルのファイアウォールのステータスを確認
$ sudo iptables -nvL Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination $ sudo iptables -A INPUT -p tcp --dport 80 --syn -m conntrack --ctstate NEW -j ACCEPT $ sudo iptables -A INPUT -p tcp --dport 443 --syn -m conntrack --ctstate NEW -j ACCEPT

参考にした記事:https://aws.amazon.com/jp/premiumsupport/knowledge-center/ec2-instance-hosting-unresponsive-website/

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

  • Amazon Linux 2 AMI
  • Apache/2.4.48

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

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

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

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

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

Noin

2021/07/26 03:17

すみません、説明分からサーバ構成が見えないです。 A:踏み台サーバ B:webサーバ(apache) Bサーバのapacheへ接続する経路の設定はどうなっていますか? ELB使ってますか?EIPを直接であればセキュリティグループの設定で80は解放されてますか? 502を出しているのはapacheではなさそうに見えます。 後、netstatを見るとtcp6とあるのでIPv6を利用してるように見えますが、IPv4のポートは空いてますか?それともv6を使ってますか?
guest

回答2

0

ベストアンサー

[A] 踏み台サーバーと [B] Web サーバーがあって、[A] で Apache httpd を稼働させ、リバースプロキシーとしたいのですよね?
[A] の Apache httpd で 502 を返していると仮定すると、CHERRY さんの回答にもあるとおり、[A]→[B] の接続に失敗しています。

まずは [A] で curl コマンドなどで [B] のプライベートIP に HTTP 接続できるか確認するといいと思います。
接続できなければ、[B] のセキュリティグループで [A] からの 80 番ポートへの接続を許可しているか。
接続できれば、[A] の Apache httpd の設定。

他、
iptables はデフォルトポリシーが ACCEPT なので、全許可されています。
NAT インスタンスや MASQUERADE は外向き(outbound)通信のことなので、今回の問題とは関係ないと思います。
IPv6 しか LISTEN していないように見えるのは v4-mapped-on-v6 (https://teratail.com/questions/100706) なので問題なし。

投稿2021/07/31 02:01

TaichiYanagiya

総合スコア12173

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

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

0

502エラーは、502 Bad Gateway ですね。

サーバーエラーレスポンスコードは、ゲートウェイまたはプロキシとして機能しているサーバーが上流のサーバーから無効なレスポンスを受け取ったことを示しています。

Webブラウザで踏み台サーバーにアクセスしたら、Webを構築したプライベートインスタンスにアクセスが転送されるように正しく設定はされていますか?(リバースプロキシ等の設定)

踏み台サーバーからプライベート側のWebサーバーにアクセスすると接続可能ですか?

投稿2021/07/25 22:23

編集2021/07/25 22:25
CHERRY

総合スコア25218

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

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

hujio362

2021/07/26 00:51

https://qiita.com/koshilife/items/2cba3d17094f087455ab こちらの記事の4.NATインスタンス 動作確認を参考に、pingをとおして見ましたが、パブリックサブネット側から、プライベートサブネット側からともに応答がありませんでした。 プライベートサブネットから$ ping 8.8.8.8 でGoogleのDNSサーバに疎通できることは確認確認できました。 また、iptablesを以下のように変更してみました。 ``` [root@ip- ~]# iptables --list -t nat Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- anywhere anywhere ``` 他に設定すべき点があればご教授いただきたいです。 よろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問