質問編集履歴

4

質問変更

2017/01/20 02:04

投稿

sequence
sequence

スコア29

test CHANGED
File without changes
test CHANGED
@@ -144,31 +144,9 @@
144
144
 
145
145
  ```
146
146
 
147
- リダイレクトの仕方が恐らくよろしくないように思えま
147
+ リダイレクトはできてようなのでが、
148
148
 
149
- ```
150
-
151
- if ($maintenance = true) {
152
-
153
- rewrite ^ /maintenance.html redirect;
154
-
155
- }
156
-
157
- ```
158
-
159
- 上記の箇所を下記のように変更すると、リダイレクトはしないのですが、
160
-
161
- URLを打つと実際にメンテナンスページが表示されることは確認出来した
149
+ passの設定等がよくなく、ページが表示されません
162
-
163
- ```
164
-
165
- if ($maintenance = true) {
166
-
167
- rewrite ^ maintenance.html redirect;
168
-
169
- }
170
-
171
- ```
172
150
 
173
151
 
174
152
 

3

変更

2017/01/20 02:04

投稿

sequence
sequence

スコア29

test CHANGED
File without changes
test CHANGED
@@ -33,6 +33,16 @@
33
33
  ```
34
34
 
35
35
  http{
36
+
37
+
38
+
39
+ upstream my-backend{
40
+
41
+ server 127.0.0.1:9000;
42
+
43
+ }
44
+
45
+
36
46
 
37
47
  server{
38
48
 
@@ -102,6 +112,26 @@
102
112
 
103
113
 
104
114
 
115
+ location / {
116
+
117
+ proxy_pass http://my-backend;
118
+
119
+ proxy_set_header X-Real-IP $remote_addr;
120
+
121
+ proxy_set_header Host $host;
122
+
123
+ proxy_set_header X-Forwarded-For $proxy_add_x_forworded_for;
124
+
125
+ proxy_http_version 1.1;
126
+
127
+ prosy_set_header Upgrade $http_upgrade;
128
+
129
+ prosy_set_header Connection "upgrade";
130
+
131
+ }
132
+
133
+
134
+
105
135
  server{
106
136
 
107
137
  listen 443 ssl;

2

質問変更

2017/01/19 14:49

投稿

sequence
sequence

スコア29

test CHANGED
File without changes
test CHANGED
@@ -20,11 +20,11 @@
20
20
 
21
21
 
22
22
 
23
- メンテナンスページの設定をしても全く意味なくトップページが表示されてしまいます。
23
+ メンテナンスページがあることは確認できるですが、
24
24
 
25
- SSLにリダイレクトさせる前のserver{}に書くリダイレクトはするのですが、
25
+ "リダイレクトが繰り返し行われました。"いうエラー出て
26
26
 
27
- SSL接続ではないため画面が表示されません。
27
+ ページが表示できません。
28
28
 
29
29
 
30
30
 
@@ -40,27 +40,17 @@
40
40
 
41
41
  ...
42
42
 
43
+
44
+
43
- }
45
+ # ここからメンテナンスページ設定
46
+
47
+ # setディレクティブでメンテナンスon/off用フラグ変数を設定
48
+
49
+ set $maintenance false;
44
50
 
45
51
 
46
52
 
47
- server{
48
-
49
- listen 443 ssl;
50
-
51
- ...
52
-
53
-
54
-
55
- # ここからメンテナンスページ設定
56
-
57
- # setディレクティブでメンテナンスon/off用フラグ変数を設定
58
-
59
- set $maintenance false;
60
-
61
-
62
-
63
- # /var/tmp/nginx/maintenanceがある場合はメンテモード
53
+ # /var/tmp/nginx/maintenanceがある場合はメンテモード
64
54
 
65
55
  if (-e /var/tmp/nginx/maintenance ) {
66
56
 
@@ -108,13 +98,15 @@
108
98
 
109
99
  }
110
100
 
111
-
101
+ }
112
102
 
113
- location / {
114
103
 
115
- proxy_pass http://root-path;
116
104
 
105
+ server{
106
+
107
+ listen 443 ssl;
108
+
117
- }
109
+ ...
118
110
 
119
111
  }
120
112
 
@@ -122,9 +114,31 @@
122
114
 
123
115
  ```
124
116
 
125
- maintenance.htmlは
117
+ リダイレクトの仕方が恐らくよろしくないように思えます。
126
118
 
119
+ ```
120
+
121
+ if ($maintenance = true) {
122
+
127
- /var/tmp/nginx/maintenanceの中に存在しております。
123
+ rewrite ^ /maintenance.html redirect;
124
+
125
+ }
126
+
127
+ ```
128
+
129
+ 上記の箇所を下記のように変更すると、リダイレクトはしないのですが、
130
+
131
+ URLを打つと実際にメンテナンスページが表示されることは確認出来ました。
132
+
133
+ ```
134
+
135
+ if ($maintenance = true) {
136
+
137
+ rewrite ^ maintenance.html redirect;
138
+
139
+ }
140
+
141
+ ```
128
142
 
129
143
 
130
144
 

1

質問変更

2017/01/19 10:43

投稿

sequence
sequence

スコア29

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,10 @@
1
+ ## やりたいこと
2
+
1
- 下記のURLを参考にNginxを用いてメンテナンスページへリダイレクトさせようと思っているのですが、うまくいきません
3
+ Nginxの設定ファイルを用いてメンテナンスページへリダイレクトさせて表示させたいです。
2
4
 
3
5
 
6
+
7
+ 下記を参考にして設定をしてみました。
4
8
 
5
9
  * [http://qiita.com/semind/items/8f968be2cfa0ce85a13e](http://qiita.com/semind/items/8f968be2cfa0ce85a13e)
6
10
 
@@ -17,6 +21,10 @@
17
21
 
18
22
 
19
23
  メンテナンスページの設定をしても全く意味がなく、トップページが表示されてしまいます。
24
+
25
+ SSLにリダイレクトさせる前のserver{}に書くとリダイレクトはするのですが、
26
+
27
+ SSL接続ではないため画面が表示されません。
20
28
 
21
29
 
22
30
 
@@ -39,6 +47,8 @@
39
47
  server{
40
48
 
41
49
  listen 443 ssl;
50
+
51
+ ...
42
52
 
43
53
 
44
54
 
@@ -98,17 +108,23 @@
98
108
 
99
109
  }
100
110
 
111
+
112
+
113
+ location / {
114
+
115
+ proxy_pass http://root-path;
116
+
117
+ }
118
+
101
119
  }
102
120
 
103
121
  }
104
122
 
105
123
  ```
106
124
 
125
+ maintenance.htmlは
107
126
 
108
-
109
- ## 他にやったこと
110
-
111
- メンテナンスページを設定するコードをSSLにリダイレクトする前のポート80のserver{}の中に書いたところ、リダイレクトはるのですが、SSLが付かずページが表示されませんでした
127
+ /var/tmp/nginx/maintenanceの中に存在しております。
112
128
 
113
129
 
114
130