質問編集履歴

4

nginx.ocnfを追加

2021/05/04 04:53

投稿

gozikyu
gozikyu

スコア4

title CHANGED
File without changes
body CHANGED
@@ -169,4 +169,41 @@
169
169
  ![![イメージ説明](df79ac1abe85f2ee1ff78a420607f546.png)]
170
170
  ![イメージ説明](353746ce34cdb72fe7f1a4ab9c3efe3a.png)
171
171
 
172
- このことから、ALBのヘルスチェックはEC2に届いているが、ヘルスチェックの場合のみ403で弾かれていると考えております。
172
+ このことから、ALBのヘルスチェックはEC2に届いているが、ヘルスチェックの場合のみ403で弾かれていると考えております。
173
+
174
+ ### 追加3
175
+ nginx.conf
176
+ ```ここに言語を入力
177
+ # プロキシ先の指定
178
+ # Nginxが受け取ったリクエストをバックエンドのpumaに送信
179
+ upstream webapp {
180
+ # ソケット通信したいのでpuma.sockを指定
181
+ server unix:///webapp/tmp/sockets/puma.sock;
182
+ }
183
+
184
+ server {
185
+ listen 80;
186
+ # ドメインもしくはIPを指定
187
+ server_name 独自ドメイン;
188
+
189
+ access_log /var/log/nginx/access.log;
190
+ error_log /var/log/nginx/error.log;
191
+
192
+ # ドキュメントルートの指定
193
+ root /webapp/public;
194
+
195
+ client_max_body_size 100m;
196
+ error_page 404 /404.html;
197
+ error_page 505 502 503 504 /500.html;
198
+ try_files $uri/index.html $uri @webapp;
199
+ keepalive_timeout 5;
200
+
201
+ # リバースプロキシ関連の設定
202
+ location @webapp {
203
+ proxy_set_header X-Real-IP $remote_addr;
204
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
205
+ proxy_set_header Host $http_host;
206
+ proxy_pass http://webapp;
207
+ }
208
+ }
209
+ ```

3

インフラ構成図を修正

2021/05/04 04:53

投稿

gozikyu
gozikyu

スコア4

title CHANGED
File without changes
body CHANGED
@@ -6,7 +6,7 @@
6
6
  インフラ:AWS下記図
7
7
 
8
8
  EC2にdockerをインストールして、docker-composeでreact、rails、nginxを起動しています。
9
- ![![イメージ説明](73bc3fb9f699482749e86d690d98ca85.png)]
9
+ ![イメージ説明](3126b55bde0f755b7698eac1324254c0.png)
10
10
  ![イメージ説明](a3b06032effcdb2a961bca7b7730068b.png)
11
11
 
12
12
 

2

Route53のレコード、ヘルスチェック時のログを追加

2021/05/04 00:41

投稿

gozikyu
gozikyu

スコア4

title CHANGED
File without changes
body CHANGED
@@ -153,4 +153,20 @@
153
153
 
154
154
  こちら、自分でも調べておりますが、わかる方いらっしゃいましたらご教示いただけると幸いです。
155
155
 
156
- よろしくお願いいたします。
156
+ よろしくお願いいたします。
157
+
158
+ ### 追加2
159
+ Route53のレコード設定
160
+ Aレコードにportfolio-elbというALBを設定しています
161
+ ![イメージ説明](4b1694812fc03ab244d5277c9c8dd51c.png)
162
+ ALBの設定画面
163
+ ![イメージ説明](e9cc8d59b4d813f9c014b4c31fb3c77f.png)
164
+
165
+ ALBのヘルスチェックでEC2ポート3001の/gymsにアクセスした際のEC2のdocker上のログ 403になっている
166
+ ![イメージ説明](4d63d4ac3db1c4043689213ca2286676.png)
167
+
168
+ ブラウザからEC2ポート3001の/gymsにアクセスした際のEC2のdocker上のログ 304になっている
169
+ ![![イメージ説明](df79ac1abe85f2ee1ff78a420607f546.png)]
170
+ ![イメージ説明](353746ce34cdb72fe7f1a4ab9c3efe3a.png)
171
+
172
+ このことから、ALBのヘルスチェックはEC2に届いているが、ヘルスチェックの場合のみ403で弾かれていると考えております。

1

ALBのターゲット変更により問題を解決(根本的理解はまだ)

2021/05/04 00:28

投稿

gozikyu
gozikyu

スコア4

title CHANGED
File without changes
body CHANGED
@@ -131,4 +131,26 @@
131
131
  end
132
132
  end
133
133
 
134
- ```
134
+ ```
135
+
136
+ ### 追加
137
+ 対症療法的ではありますが、上記問題を解決する事ができました。
138
+
139
+ 変更点
140
+ ALBのターゲットを変更
141
+ 変更前:独自ドメインのポート3001へのアクセスの転送先の設定はインスタンス(ポート3001)
142
+ 変更後:独自ドメインのポート3001へのアクセスの転送先の設定はVPC内のインスタンスのプライベートIP(ポート3001)
143
+
144
+ 変更前のターゲット
145
+ ![イメージ説明](aa5013e663def35ac0f4869c8d9d5288.png)
146
+ 変更後のターゲット
147
+ ![イメージ説明](d3f5b9e2580189200ae72fcb26712eb9.png)
148
+
149
+ 問題は解決できたのですが、根本的理解はできていません。具体的には以下2点です。
150
+ ・ターゲットの設定方法の違いでなぜ問題が解決したのか?
151
+ ・変更後のターゲットのヘルスチェックでstatus403でエラーになっているのになぜ、アプリは正常に動作するのか?
152
+ (言い換えると、ブラウザのReactからリクエストを投げたときはなぜ403にならないのか?)
153
+
154
+ こちら、自分でも調べておりますが、わかる方いらっしゃいましたらご教示いただけると幸いです。
155
+
156
+ よろしくお願いいたします。