質問するログイン新規登録

質問編集履歴

4

質問変更

2017/01/20 02:04

投稿

sequence
sequence

スコア29

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
- URLを打つと実際にメンテナンスページが表示されることは確認出来した
75
+ passの設定等がよくなく、ページが表示されません
82
- ```
83
- if ($maintenance = true) {
84
- rewrite ^ maintenance.html redirect;
85
- }
86
- ```
87
76
 
88
77
  Nginxに疎く全くわからないため、ご教授の程、宜しく御願い致します。

3

変更

2017/01/20 02:04

投稿

sequence
sequence

スコア29

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

質問変更

2017/01/19 14:49

投稿

sequence
sequence

スコア29

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
- SSLにリダイレクトさせる前のserver{}に書くリダイレクトはするのですが、
13
+ "リダイレクトが繰り返し行われました。"いうエラー出て
14
- SSL接続ではないため画面が表示されません。
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
- server{
23
+ # ここからメンテナンスページ設定
24
+ # setディレクティブでメンテナンスon/off用フラグ変数を設定
25
- listen 443 ssl;
25
+ set $maintenance false;
26
- ...
27
26
 
28
- # ここからメンテナンスページ設定
29
- # setディレクティブでメンテナンスon/off用フラグ変数を設定
30
- set $maintenance false;
31
-
32
- # /var/tmp/nginx/maintenanceがある場合はメンテモード
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.htmlは
61
+ if ($maintenance = true) {
64
- /var/tmp/nginx/maintenanceの中に存在しております。
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

質問変更

2017/01/19 10:43

投稿

sequence
sequence

スコア29

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,7 @@
1
+ ## やりたいこと
1
- 下記URL参考にNginxを用いてメンテナンスページへリダイレクトさせようと思っているのですが、うまくいきません
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に疎く全くわからないため、ご教授の程、宜しく御願い致します。