質問編集履歴
4
nginx.ocnfを追加
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
インフラ構成図を修正
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
|
-

|
18
18
|
|
19
19
|

|
20
20
|
|
2
Route53のレコード、ヘルスチェック時のログを追加
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
|
+

|
322
|
+
|
323
|
+
ALBの設定画面
|
324
|
+
|
325
|
+

|
326
|
+
|
327
|
+
|
328
|
+
|
329
|
+
ALBのヘルスチェックでEC2ポート3001の/gymsにアクセスした際のEC2のdocker上のログ 403になっている
|
330
|
+
|
331
|
+

|
332
|
+
|
333
|
+
|
334
|
+
|
335
|
+
ブラウザからEC2ポート3001の/gymsにアクセスした際のEC2のdocker上のログ 304になっている
|
336
|
+
|
337
|
+
]
|
338
|
+
|
339
|
+

|
340
|
+
|
341
|
+
|
342
|
+
|
343
|
+
このことから、ALBのヘルスチェックはEC2に届いているが、ヘルスチェックの場合のみ403で弾かれていると考えております。
|
1
ALBのターゲット変更により問題を解決(根本的理解はまだ)
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
|
+

|
290
|
+
|
291
|
+
変更後のターゲット
|
292
|
+
|
293
|
+

|
294
|
+
|
295
|
+
|
296
|
+
|
297
|
+
問題は解決できたのですが、根本的理解はできていません。具体的には以下2点です。
|
298
|
+
|
299
|
+
・ターゲットの設定方法の違いでなぜ問題が解決したのか?
|
300
|
+
|
301
|
+
・変更後のターゲットのヘルスチェックでstatus403でエラーになっているのになぜ、アプリは正常に動作するのか?
|
302
|
+
|
303
|
+
(言い換えると、ブラウザのReactからリクエストを投げたときはなぜ403にならないのか?)
|
304
|
+
|
305
|
+
|
306
|
+
|
307
|
+
こちら、自分でも調べておりますが、わかる方いらっしゃいましたらご教示いただけると幸いです。
|
308
|
+
|
309
|
+
|
310
|
+
|
311
|
+
よろしくお願いいたします。
|