回答編集履歴

2

iptablesの設定内容を修正した。

2015/09/01 12:50

投稿

eripong
eripong

スコア1546

test CHANGED
@@ -6,25 +6,17 @@
6
6
 
7
7
  iptablesによって80番ポートへの通信が8080番ポートに転送されていた。
8
8
 
9
+ それにより、ELBからApacheを通らず直接Tomcatにアクセスしていた。
10
+
9
11
  以下の様な設定が入っていたので、削除した。
10
12
 
11
13
  ```
12
14
 
13
- *nat
15
+ -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
14
16
 
15
- :PREROUTING ACCEPT [0:0]
16
-
17
- :OUTPUT ACCEPT [0:0]
18
-
19
- :POSTROUTING ACCEPT [0:0]
20
-
21
- -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
17
+ -A PREROUTING -p udp -m udp --dport 80 -j REDIRECT --to-ports 8080
22
-
23
- COMMIT
24
18
 
25
19
  ```
26
-
27
- ※実際の設定の通りかは分からないが、このような設定だった。
28
20
 
29
21
  ### http-proxy.confの設定に問題があった。
30
22
 
@@ -69,5 +61,3 @@
69
61
  $ /usr/sbin/setsebool httpd_can_network_connect true
70
62
 
71
63
  ```
72
-
73
-

1

結果を追記した。

2015/09/01 12:50

投稿

eripong
eripong

スコア1546

test CHANGED
@@ -1,7 +1,73 @@
1
- Aapcheのサーバがどれかを特定して、そちら設定を入れください
1
+ 紆余曲折ありしたが結果として修正が必要だった点つい記述します
2
-
3
- Tomcatとは別のようなので、ほかにEC2のインスタンスはありませんか?
4
2
 
5
3
 
6
4
 
5
+ ### iptablesにポートの転送ルールが入っていた。
6
+
7
+ iptablesによって80番ポートへの通信が8080番ポートに転送されていた。
8
+
9
+ 以下の様な設定が入っていたので、削除した。
10
+
11
+ ```
12
+
13
+ *nat
14
+
15
+ :PREROUTING ACCEPT [0:0]
16
+
17
+ :OUTPUT ACCEPT [0:0]
18
+
19
+ :POSTROUTING ACCEPT [0:0]
20
+
21
+ -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
22
+
23
+ COMMIT
24
+
25
+ ```
26
+
27
+ ※実際の設定の通りかは分からないが、このような設定だった。
28
+
29
+ ### http-proxy.confの設定に問題があった。
30
+
31
+ 8080番ポートを指定しておらず、localhostではなくFQDNになっていた。
32
+
33
+ 以下の設定を行った。
34
+
35
+ ```
36
+
37
+ ProxyPass /◯◯/ ws://localhost:8080/◯◯/
38
+
39
+ ProxyPassReverse /◯◯/ ws://localhost:8080/◯◯/
40
+
41
+ ProxyPass /◯◯/ ajp://localhost:8009/◯◯/
42
+
43
+ ```
44
+
45
+ ※最終的にうまくいった設定ではない
46
+
7
- また、LBがあるということですが、APacheとTomcatの間にあるとうことですか?
47
+ ### SELinuxによってApacheとTomcatの通信が制限されてた。
48
+
49
+ http-proxy.confへの設定を行って起動すると、
50
+
51
+ Apacheのエラーログに以下が出力された。
52
+
53
+ ```
54
+
55
+ [Tue Sep 01 00:06:13.923821 2015] [proxy:error] [pid 11518:tid 140522228266752] (13)Permission denied: AH00957: WS: attempt to connect to 127.0.0.1:8080 (localhost) failed
56
+
57
+ [Tue Sep 01 00:06:13.924028 2015] [proxy:error] [pid 11518:tid 140522228266752] AH00959: ap_proxy_connect_backend disabling worker for (localhost) for 60s
58
+
59
+ [Tue Sep 01 00:06:13.924054 2015] [proxy_wstunnel:error] [pid 11518:tid 140522228266752] [client 127.0.0.1:44894] AH02452: failed to make connection to backend: localhost
60
+
61
+ ```
62
+
63
+ SELinuxによってApacheとTomcatの間の通信が制限されていたので、
64
+
65
+ 以下の設定変更を行った。
66
+
67
+ ```
68
+
69
+ $ /usr/sbin/setsebool httpd_can_network_connect true
70
+
71
+ ```
72
+
73
+