回答編集履歴
2
iptablesの設定内容を修正した。
answer
CHANGED
@@ -2,16 +2,12 @@
|
|
2
2
|
|
3
3
|
### iptablesにポートの転送ルールが入っていた。
|
4
4
|
iptablesによって80番ポートへの通信が8080番ポートに転送されていた。
|
5
|
+
それにより、ELBからApacheを通らず直接Tomcatにアクセスしていた。
|
5
6
|
以下の様な設定が入っていたので、削除した。
|
6
7
|
```
|
7
|
-
*nat
|
8
|
-
:PREROUTING ACCEPT [0:0]
|
9
|
-
:OUTPUT ACCEPT [0:0]
|
10
|
-
:POSTROUTING ACCEPT [0:0]
|
11
|
-
-A PREROUTING -p tcp --dport 80 -j REDIRECT --to-
|
8
|
+
-A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
|
12
|
-
|
9
|
+
-A PREROUTING -p udp -m udp --dport 80 -j REDIRECT --to-ports 8080
|
13
10
|
```
|
14
|
-
※実際の設定の通りかは分からないが、このような設定だった。
|
15
11
|
### http-proxy.confの設定に問題があった。
|
16
12
|
8080番ポートを指定しておらず、localhostではなくFQDNになっていた。
|
17
13
|
以下の設定を行った。
|
@@ -33,4 +29,4 @@
|
|
33
29
|
以下の設定変更を行った。
|
34
30
|
```
|
35
31
|
$ /usr/sbin/setsebool httpd_can_network_connect true
|
36
|
-
```
|
32
|
+
```
|
1
結果を追記した。
answer
CHANGED
@@ -1,4 +1,36 @@
|
|
1
|
-
ま
|
1
|
+
紆余曲折ありましたが、結果として修正が必要だった点について記述します。
|
2
|
-
Tomcatとは別のようなので、ほかにEC2のインスタンスはありませんか?
|
3
2
|
|
3
|
+
### iptablesにポートの転送ルールが入っていた。
|
4
|
+
iptablesによって80番ポートへの通信が8080番ポートに転送されていた。
|
5
|
+
以下の様な設定が入っていたので、削除した。
|
6
|
+
```
|
7
|
+
*nat
|
8
|
+
:PREROUTING ACCEPT [0:0]
|
9
|
+
:OUTPUT ACCEPT [0:0]
|
10
|
+
:POSTROUTING ACCEPT [0:0]
|
11
|
+
-A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
|
12
|
+
COMMIT
|
13
|
+
```
|
14
|
+
※実際の設定の通りかは分からないが、このような設定だった。
|
15
|
+
### http-proxy.confの設定に問題があった。
|
16
|
+
8080番ポートを指定しておらず、localhostではなくFQDNになっていた。
|
17
|
+
以下の設定を行った。
|
18
|
+
```
|
19
|
+
ProxyPass /◯◯/ ws://localhost:8080/◯◯/
|
20
|
+
ProxyPassReverse /◯◯/ ws://localhost:8080/◯◯/
|
21
|
+
ProxyPass /◯◯/ ajp://localhost:8009/◯◯/
|
22
|
+
```
|
23
|
+
※最終的にうまくいった設定ではない
|
4
|
-
|
24
|
+
### SELinuxによってApacheとTomcatの通信が制限されていた。
|
25
|
+
http-proxy.confへの設定を行って起動すると、
|
26
|
+
Apacheのエラーログに以下が出力された。
|
27
|
+
```
|
28
|
+
[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
|
29
|
+
[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
|
30
|
+
[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
|
31
|
+
```
|
32
|
+
SELinuxによってApacheとTomcatの間の通信が制限されていたので、
|
33
|
+
以下の設定変更を行った。
|
34
|
+
```
|
35
|
+
$ /usr/sbin/setsebool httpd_can_network_connect true
|
36
|
+
```
|