質問編集履歴
4
質問変更
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -71,18 +71,7 @@
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
```
|
|
74
|
-
リダイレクト
|
|
74
|
+
リダイレクトはできているようなのですが、
|
|
75
|
-
```
|
|
76
|
-
if ($maintenance = true) {
|
|
77
|
-
rewrite ^ /maintenance.html redirect;
|
|
78
|
-
}
|
|
79
|
-
```
|
|
80
|
-
上記の箇所を下記のように変更すると、リダイレクトはしないのですが、
|
|
81
|
-
|
|
75
|
+
passの設定等がよくなく、ページが表示されません。
|
|
82
|
-
```
|
|
83
|
-
if ($maintenance = true) {
|
|
84
|
-
rewrite ^ maintenance.html redirect;
|
|
85
|
-
}
|
|
86
|
-
```
|
|
87
76
|
|
|
88
77
|
Nginxに疎く全くわからないため、ご教授の程、宜しく御願い致します。
|
3
変更
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -16,6 +16,11 @@
|
|
|
16
16
|
##### nginx設定(※一部抜粋)
|
|
17
17
|
```
|
|
18
18
|
http{
|
|
19
|
+
|
|
20
|
+
upstream my-backend{
|
|
21
|
+
server 127.0.0.1:9000;
|
|
22
|
+
}
|
|
23
|
+
|
|
19
24
|
server{
|
|
20
25
|
listen 80 default_server;
|
|
21
26
|
...
|
|
@@ -50,6 +55,16 @@
|
|
|
50
55
|
}
|
|
51
56
|
}
|
|
52
57
|
|
|
58
|
+
location / {
|
|
59
|
+
proxy_pass http://my-backend;
|
|
60
|
+
proxy_set_header X-Real-IP $remote_addr;
|
|
61
|
+
proxy_set_header Host $host;
|
|
62
|
+
proxy_set_header X-Forwarded-For $proxy_add_x_forworded_for;
|
|
63
|
+
proxy_http_version 1.1;
|
|
64
|
+
prosy_set_header Upgrade $http_upgrade;
|
|
65
|
+
prosy_set_header Connection "upgrade";
|
|
66
|
+
}
|
|
67
|
+
|
|
53
68
|
server{
|
|
54
69
|
listen 443 ssl;
|
|
55
70
|
...
|
2
質問変更
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
httpへリクエストがあった時にhttpsへリダイレクトをnginxで下記を参考に行っております。
|
|
10
10
|
[http://qiita.com/ichiki1023/items/baaf4d47083fb4a6396b](http://qiita.com/ichiki1023/items/baaf4d47083fb4a6396b)
|
|
11
11
|
|
|
12
|
-
メンテナンスページの
|
|
12
|
+
メンテナンスページがあることは確認できるのですが、
|
|
13
|
-
|
|
13
|
+
"リダイレクトが繰り返し行われました。"というエラーが出て、
|
|
14
|
-
|
|
14
|
+
ページが表示できません。
|
|
15
15
|
|
|
16
16
|
##### nginx設定(※一部抜粋)
|
|
17
17
|
```
|
|
@@ -19,17 +19,12 @@
|
|
|
19
19
|
server{
|
|
20
20
|
listen 80 default_server;
|
|
21
21
|
...
|
|
22
|
-
}
|
|
23
22
|
|
|
24
|
-
|
|
23
|
+
# ここからメンテナンスページ設定
|
|
24
|
+
# setディレクティブでメンテナンスon/off用フラグ変数を設定
|
|
25
|
-
|
|
25
|
+
set $maintenance false;
|
|
26
|
-
...
|
|
27
26
|
|
|
28
|
-
# ここからメンテナンスページ設定
|
|
29
|
-
# setディレクティブでメンテナンスon/off用フラグ変数を設定
|
|
30
|
-
set $maintenance false;
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
# /var/tmp/nginx/maintenanceがある場合はメンテモード
|
|
33
28
|
if (-e /var/tmp/nginx/maintenance ) {
|
|
34
29
|
set $maintenance true;
|
|
35
30
|
}
|
|
@@ -53,14 +48,26 @@
|
|
|
53
48
|
# キャッシュさせないようにexpiresを0にしておく
|
|
54
49
|
expires 0;
|
|
55
50
|
}
|
|
56
|
-
|
|
57
|
-
location / {
|
|
58
|
-
proxy_pass http://root-path;
|
|
59
|
-
}
|
|
60
51
|
}
|
|
52
|
+
|
|
53
|
+
server{
|
|
54
|
+
listen 443 ssl;
|
|
55
|
+
...
|
|
56
|
+
}
|
|
61
57
|
}
|
|
62
58
|
```
|
|
59
|
+
リダイレクトの仕方が恐らくよろしくないように思えます。
|
|
60
|
+
```
|
|
63
|
-
maintenance
|
|
61
|
+
if ($maintenance = true) {
|
|
64
|
-
/
|
|
62
|
+
rewrite ^ /maintenance.html redirect;
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
上記の箇所を下記のように変更すると、リダイレクトはしないのですが、
|
|
66
|
+
URLを打つと実際にメンテナンスページが表示されることは確認出来ました。
|
|
67
|
+
```
|
|
68
|
+
if ($maintenance = true) {
|
|
69
|
+
rewrite ^ maintenance.html redirect;
|
|
70
|
+
}
|
|
71
|
+
```
|
|
65
72
|
|
|
66
73
|
Nginxに疎く全くわからないため、ご教授の程、宜しく御願い致します。
|
1
質問変更
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
## やりたいこと
|
|
1
|
-
|
|
2
|
+
Nginxの設定ファイルを用いてメンテナンスページへリダイレクトさせて表示させたいです。
|
|
2
3
|
|
|
4
|
+
下記を参考にして設定をしてみました。
|
|
3
5
|
* [http://qiita.com/semind/items/8f968be2cfa0ce85a13e](http://qiita.com/semind/items/8f968be2cfa0ce85a13e)
|
|
4
6
|
* [http://qiita.com/kotaroito/items/8b7d4b8ad6935edcdba8](http://qiita.com/kotaroito/items/8b7d4b8ad6935edcdba8)
|
|
5
7
|
|
|
@@ -8,6 +10,8 @@
|
|
|
8
10
|
[http://qiita.com/ichiki1023/items/baaf4d47083fb4a6396b](http://qiita.com/ichiki1023/items/baaf4d47083fb4a6396b)
|
|
9
11
|
|
|
10
12
|
メンテナンスページの設定をしても全く意味がなく、トップページが表示されてしまいます。
|
|
13
|
+
SSLにリダイレクトさせる前のserver{}に書くとリダイレクトはするのですが、
|
|
14
|
+
SSL接続ではないため画面が表示されません。
|
|
11
15
|
|
|
12
16
|
##### nginx設定(※一部抜粋)
|
|
13
17
|
```
|
|
@@ -19,6 +23,7 @@
|
|
|
19
23
|
|
|
20
24
|
server{
|
|
21
25
|
listen 443 ssl;
|
|
26
|
+
...
|
|
22
27
|
|
|
23
28
|
# ここからメンテナンスページ設定
|
|
24
29
|
# setディレクティブでメンテナンスon/off用フラグ変数を設定
|
|
@@ -48,11 +53,14 @@
|
|
|
48
53
|
# キャッシュさせないようにexpiresを0にしておく
|
|
49
54
|
expires 0;
|
|
50
55
|
}
|
|
56
|
+
|
|
57
|
+
location / {
|
|
58
|
+
proxy_pass http://root-path;
|
|
59
|
+
}
|
|
51
60
|
}
|
|
52
61
|
}
|
|
53
62
|
```
|
|
63
|
+
maintenance.htmlは
|
|
64
|
+
/var/tmp/nginx/maintenanceの中に存在しております。
|
|
54
65
|
|
|
55
|
-
## 他にやったこと
|
|
56
|
-
メンテナンスページを設定するコードをSSLにリダイレクトする前のポート80のserver{}の中に書いたところ、リダイレクトはするのですが、SSLが付かずページが表示されませんでした。
|
|
57
|
-
|
|
58
66
|
Nginxに疎く全くわからないため、ご教授の程、宜しく御願い致します。
|