質問編集履歴
1
質問内容を更新しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,17 +1,34 @@
|
|
1
|
-
現在、サーバ
|
1
|
+
現在、Apacheでリバースプロキシのサーバを立てており、その他のサーバ二台に中継しています。
|
2
2
|
|
3
|
-
|
3
|
+
リバースプロキシ自体は特に問題ないのですが、リバースプロキシに行く前にhttpで来た接続をhttpsにリダイレクトしたいと考えました。
|
4
|
+
上記をしないとhttpにアクセスした際に400のエラーメッセージが返却されるためです。
|
5
|
+
そこで以下のことについて質問したいと思います。
|
4
6
|
|
5
|
-
|
7
|
+
1.リバースプロキシ環境下でHTTPリクエストををHTTPSにリダイレクトする
|
6
8
|
|
7
|
-
そこでApache のmod_proxyなどいろいろ試したのですが、80にアクセスしたすべてのアクセスが8065に転送されたり、想定通りの動きをしませんでした。
|
8
|
-
そこで、以下の点についてご回答いただけますと幸いです。
|
9
|
-
|
10
|
-
1.上記のような特定のアクセスを別ポートに飛ばすことは可能なのか
|
11
|
-
2.可能な場合、Apacheにどのような設定を入れればよいか
|
12
|
-
|
13
9
|
環境については以下になります。
|
14
10
|
OS:CentOS 7.6
|
15
11
|
Apache httpd 2.4.6
|
16
12
|
|
13
|
+
試したこととしては`/etc/httpd/conf.d/rewrite.conf`に以下の設定を入れてみました
|
14
|
+
```
|
15
|
+
<VirtualHost *:80>
|
16
|
+
RewriteEngine on
|
17
|
+
RewriteCond %{HTTPS} off
|
18
|
+
RewriteRule ^/(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
|
19
|
+
</VirtualHost>
|
20
|
+
```
|
21
|
+
その際コンソールには以下のエラーメッセージが出力されます
|
22
|
+
```
|
23
|
+
[root@localhost conf.d]# systemctl restart httpd
|
24
|
+
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.
|
25
|
+
```
|
26
|
+
`/var/log/httpd/error_log`には以下の出力があります
|
27
|
+
```
|
28
|
+
[Sun May 19 06:49:57.647722 2019] [suexec:notice] [pid 16327] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
|
29
|
+
[Sun May 19 06:49:57.651694 2019] [ssl:emerg] [pid 16327] AH01892: Illegal attempt to re-initialise SSL for server (SSLEngine On should go in the VirtualHost, not in global scope.)
|
30
|
+
[Sun May 19 06:49:57.651725 2019] [ssl:emerg] [pid 16327] AH02312: Fatal error initialising mod_ssl, exiting.
|
31
|
+
```
|
32
|
+
|
33
|
+
ご教示いただけますと幸いです。
|
17
34
|
以上、よろしくお願いいたします。
|