質問編集履歴

4

nginx.ocnfを追加

2021/05/04 04:53

投稿

gozikyu
gozikyu

スコア4

test CHANGED
File without changes
test CHANGED
@@ -341,3 +341,77 @@
341
341
 
342
342
 
343
343
  このことから、ALBのヘルスチェックはEC2に届いているが、ヘルスチェックの場合のみ403で弾かれていると考えております。
344
+
345
+
346
+
347
+ ### 追加3
348
+
349
+ nginx.conf
350
+
351
+ ```ここに言語を入力
352
+
353
+ # プロキシ先の指定
354
+
355
+ # Nginxが受け取ったリクエストをバックエンドのpumaに送信
356
+
357
+ upstream webapp {
358
+
359
+ # ソケット通信したいのでpuma.sockを指定
360
+
361
+ server unix:///webapp/tmp/sockets/puma.sock;
362
+
363
+ }
364
+
365
+
366
+
367
+ server {
368
+
369
+ listen 80;
370
+
371
+ # ドメインもしくはIPを指定
372
+
373
+ server_name 独自ドメイン;
374
+
375
+
376
+
377
+ access_log /var/log/nginx/access.log;
378
+
379
+ error_log /var/log/nginx/error.log;
380
+
381
+
382
+
383
+ # ドキュメントルートの指定
384
+
385
+ root /webapp/public;
386
+
387
+
388
+
389
+ client_max_body_size 100m;
390
+
391
+ error_page 404 /404.html;
392
+
393
+ error_page 505 502 503 504 /500.html;
394
+
395
+ try_files $uri/index.html $uri @webapp;
396
+
397
+ keepalive_timeout 5;
398
+
399
+
400
+
401
+ # リバースプロキシ関連の設定
402
+
403
+ location @webapp {
404
+
405
+ proxy_set_header X-Real-IP $remote_addr;
406
+
407
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
408
+
409
+ proxy_set_header Host $http_host;
410
+
411
+ proxy_pass http://webapp;
412
+
413
+ }
414
+
415
+ }
416
+
417
+ ```

3

インフラ構成図を修正

2021/05/04 04:53

投稿

gozikyu
gozikyu

スコア4

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  EC2にdockerをインストールして、docker-composeでreact、rails、nginxを起動しています。
16
16
 
17
- ![![イメージ説明](73bc3fb9f699482749e86d690d98ca85.png)]
17
+ ![イメージ説明](3126b55bde0f755b7698eac1324254c0.png)
18
18
 
19
19
  ![イメージ説明](a3b06032effcdb2a961bca7b7730068b.png)
20
20
 

2

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

2021/05/04 00:41

投稿

gozikyu
gozikyu

スコア4

test CHANGED
File without changes
test CHANGED
@@ -309,3 +309,35 @@
309
309
 
310
310
 
311
311
  よろしくお願いいたします。
312
+
313
+
314
+
315
+ ### 追加2
316
+
317
+ Route53のレコード設定
318
+
319
+ Aレコードにportfolio-elbというALBを設定しています
320
+
321
+ ![イメージ説明](4b1694812fc03ab244d5277c9c8dd51c.png)
322
+
323
+ ALBの設定画面
324
+
325
+ ![イメージ説明](e9cc8d59b4d813f9c014b4c31fb3c77f.png)
326
+
327
+
328
+
329
+ ALBのヘルスチェックでEC2ポート3001の/gymsにアクセスした際のEC2のdocker上のログ 403になっている
330
+
331
+ ![イメージ説明](4d63d4ac3db1c4043689213ca2286676.png)
332
+
333
+
334
+
335
+ ブラウザからEC2ポート3001の/gymsにアクセスした際のEC2のdocker上のログ 304になっている
336
+
337
+ ![![イメージ説明](df79ac1abe85f2ee1ff78a420607f546.png)]
338
+
339
+ ![イメージ説明](353746ce34cdb72fe7f1a4ab9c3efe3a.png)
340
+
341
+
342
+
343
+ このことから、ALBのヘルスチェックはEC2に届いているが、ヘルスチェックの場合のみ403で弾かれていると考えております。

1

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

2021/05/04 00:28

投稿

gozikyu
gozikyu

スコア4

test CHANGED
File without changes
test CHANGED
@@ -265,3 +265,47 @@
265
265
 
266
266
 
267
267
  ```
268
+
269
+
270
+
271
+ ### 追加
272
+
273
+ 対症療法的ではありますが、上記問題を解決する事ができました。
274
+
275
+
276
+
277
+ 変更点
278
+
279
+ ALBのターゲットを変更
280
+
281
+ 変更前:独自ドメインのポート3001へのアクセスの転送先の設定はインスタンス(ポート3001)
282
+
283
+ 変更後:独自ドメインのポート3001へのアクセスの転送先の設定はVPC内のインスタンスのプライベートIP(ポート3001)
284
+
285
+
286
+
287
+ 変更前のターゲット
288
+
289
+ ![イメージ説明](aa5013e663def35ac0f4869c8d9d5288.png)
290
+
291
+ 変更後のターゲット
292
+
293
+ ![イメージ説明](d3f5b9e2580189200ae72fcb26712eb9.png)
294
+
295
+
296
+
297
+ 問題は解決できたのですが、根本的理解はできていません。具体的には以下2点です。
298
+
299
+ ・ターゲットの設定方法の違いでなぜ問題が解決したのか?
300
+
301
+ ・変更後のターゲットのヘルスチェックでstatus403でエラーになっているのになぜ、アプリは正常に動作するのか?
302
+
303
+ (言い換えると、ブラウザのReactからリクエストを投げたときはなぜ403にならないのか?)
304
+
305
+
306
+
307
+ こちら、自分でも調べておりますが、わかる方いらっしゃいましたらご教示いただけると幸いです。
308
+
309
+
310
+
311
+ よろしくお願いいたします。