回答編集履歴

2

訂正

2017/06/03 09:16

投稿

TaichiYanagiya
TaichiYanagiya

スコア12146

test CHANGED
@@ -1,18 +1,20 @@
1
1
  [http://nginx.org/en/docs/http/websocket.html](http://nginx.org/en/docs/http/websocket.html) によると、`Upgrade`, `Connection` ヘッダが必要とのことです。
2
+
3
+
4
+
5
+ **(2017/06/03 18:16) 訂正**
6
+
7
+ ごめんなさい、`stream {}` ではなく、`http {}` の場合の設定でした。
8
+
9
+ クライアントからは `https://` でアクセスしています。
2
10
 
3
11
 
4
12
 
5
13
  ```
6
14
 
7
- stream {
15
+ http {
8
16
 
9
- upstream backend {
10
-
11
- server 127.0.0.1:9090;
12
-
13
- }
17
+ (略)
14
-
15
-
16
18
 
17
19
  server {
18
20
 
@@ -24,17 +26,11 @@
24
26
 
25
27
  proxy_connect_timeout 10s;
26
28
 
27
- proxy_timeout 10s;
28
29
 
29
-
30
-
31
- #### location / ####
32
30
 
33
31
  location / {
34
32
 
35
- proxy_pass backend;
33
+ proxy_pass http://127.0.0.1:9090;
36
-
37
- #### 下記 3行を追加 ####
38
34
 
39
35
  proxy_http_version 1.1;
40
36
 
@@ -49,3 +45,9 @@
49
45
  }
50
46
 
51
47
  ```
48
+
49
+
50
+
51
+ `stream {}` の場合、質問文の設定で、クライアントから `https://` でアクセスすると、Upgrade して WebSocket で通信できませんでしょうか。
52
+
53
+

1

修正: location の設定が必要

2017/06/03 09:16

投稿

TaichiYanagiya
TaichiYanagiya

スコア12146

test CHANGED
@@ -26,15 +26,23 @@
26
26
 
27
27
  proxy_timeout 10s;
28
28
 
29
- proxy_pass backend;
30
29
 
31
- #### 下記 3行を追加 ####
32
30
 
33
- proxy_http_version 1.1;
31
+ #### location / ####
34
32
 
35
- proxy_set_header Upgrade $http_upgrade;
33
+ location / {
36
34
 
35
+ proxy_pass backend;
36
+
37
+ #### 下記 3行を追加 ####
38
+
39
+ proxy_http_version 1.1;
40
+
41
+ proxy_set_header Upgrade $http_upgrade;
42
+
37
- proxy_set_header Connection "upgrade";
43
+ proxy_set_header Connection "upgrade";
44
+
45
+ }
38
46
 
39
47
  }
40
48