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

回答編集履歴

2

訂正

2017/06/03 09:16

投稿

TaichiYanagiya
TaichiYanagiya

スコア12218

answer CHANGED
@@ -1,26 +1,26 @@
1
1
  [http://nginx.org/en/docs/http/websocket.html](http://nginx.org/en/docs/http/websocket.html) によると、`Upgrade`, `Connection` ヘッダが必要とのことです。
2
2
 
3
+ **(2017/06/03 18:16) 訂正**
4
+ ごめんなさい、`stream {}` ではなく、`http {}` の場合の設定でした。
5
+ クライアントからは `https://` でアクセスしています。
6
+
3
7
  ```
4
- stream {
8
+ http {
5
- upstream backend {
6
- server 127.0.0.1:9090;
7
- }
9
+ (略)
8
-
9
10
  server {
10
11
  listen 443 ssl;
11
12
  ssl_certificate /root/SSL/server.crt;
12
13
  ssl_certificate_key /root/SSL/XXXX.com.2017.key;
13
14
  proxy_connect_timeout 10s;
14
- proxy_timeout 10s;
15
15
 
16
- #### location / ####
17
16
  location / {
18
- proxy_pass backend;
17
+ proxy_pass http://127.0.0.1:9090;
19
- #### 下記 3行を追加 ####
20
18
  proxy_http_version 1.1;
21
19
  proxy_set_header Upgrade $http_upgrade;
22
20
  proxy_set_header Connection "upgrade";
23
21
  }
24
22
  }
25
23
  }
26
- ```
24
+ ```
25
+
26
+ `stream {}` の場合、質問文の設定で、クライアントから `https://` でアクセスすると、Upgrade して WebSocket で通信できませんでしょうか。

1

修正: location の設定が必要

2017/06/03 09:16

投稿

TaichiYanagiya
TaichiYanagiya

スコア12218

answer CHANGED
@@ -12,11 +12,15 @@
12
12
  ssl_certificate_key /root/SSL/XXXX.com.2017.key;
13
13
  proxy_connect_timeout 10s;
14
14
  proxy_timeout 10s;
15
+
16
+ #### location / ####
17
+ location / {
15
- proxy_pass backend;
18
+ proxy_pass backend;
16
- #### 下記 3行を追加 ####
19
+ #### 下記 3行を追加 ####
17
- proxy_http_version 1.1;
20
+ proxy_http_version 1.1;
18
- proxy_set_header Upgrade $http_upgrade;
21
+ proxy_set_header Upgrade $http_upgrade;
19
- proxy_set_header Connection "upgrade";
22
+ proxy_set_header Connection "upgrade";
23
+ }
20
24
  }
21
25
  }
22
26
  ```