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

質問編集履歴

2

原因がわからなくなってきたので、エラー解消の投稿内容に変更。

2019/11/12 11:47

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- DockerコンテナにHTTPS接続する方法
1
+ OnlyOffice(Docker)でのWSSエラーを解消したい
body CHANGED
@@ -1,48 +1,40 @@
1
1
  ### 前提・実現したいこと
2
- DockerコンテナHTTPS接続したい
2
+ OnlyOfficeを起動するとブラウザのコンソールログWSSエラーが残る
3
- これが原因かな?と思って
3
+ WSSエラーを解決したい。
4
- 最終的にはwssエラーしでOnlyofficeを動かしたい。
4
+ ※OnlyOffice自体を操作している分には不具合は感じないのが救い
5
5
 
6
6
  ### 発生している問題・エラーメッセージ
7
7
 
8
+ まずWebブラウザのコンソールログのエラー
8
9
  ```
9
10
  wss://oo.my-svr.com/5.4.1-39//doc/2953792654/c/611/nuy3qftb/websocket のサーバーへの接続を確立できませんでした。
10
11
  wss://oo.my-svr.com/5.4.1-39//spellchecker/doc/2953792654/c/473/v2slqv2j/websocket のサーバーへの接続を確立できませんでした。
11
12
 
12
- Chromium系だとエラー番号400
13
+ Chromium系だとエラー番号400がつきます。
13
14
 
14
15
  ```
15
16
  ### PLESK Onyxを使ってDockerを構築
16
17
  コンテナを作る際、PLESKだと80ポート用、443ポート用の2つが強制的に作られる。
17
18
  ```
18
- sudo docker run -i -t -d -p 80:80 onlyoffice/documentserver
19
+ sudo docker run -i -t -d -p 880:80 -p 3443:443 onlyoffice/documentserver
19
20
  ```
20
- 以上のように打っても、null:443が追加マッピングされてしまいます。
21
- 443:443で作ると、null:80が追加マッピングされてしまいます。
22
- なので
23
- ```
24
- sudo docker run -i -t -d -p 80:80 -p 443:443 onlyoffice/documentserver
25
- ```
26
- が必須。
27
- 当然ながら ドメイン:80ではコンテナにアクセスできますが、ドメイン:443では接続を確立できません。
21
+ 当然ながら ドメイン:380ではコンテナにアクセスできますが、ドメイン:3443では接続を確立できません。
28
- - そもそも443ポートは既に他で使われているので違うポートが必要です。
29
- なので「80ポートを9980」「443ポートを9443」とします。
30
22
 
31
23
  - Plesk内蔵のLet's Encryptを利用してサイトをSSL化しています。
32
24
  - PleskにはDockerプロキシルールという設定があり、そこで80ポートで紐付けることができます。裏で自動的にnginx.confを書いているようです。
33
- - PleskのDockerプロキシルール設定で443(9443)ポートを指定すると接続を確立できない。
25
+ - PleskのDockerプロキシルール設定で443(3443)ポートを指定すると接続を確立できない。
34
26
 
35
27
  OnlyOfficeを動かすサイトをoo.my-svr.comだとして、
36
28
 
37
29
  **アクセス可能** 「Document Server is running」という成功表示がされます。
38
30
  - http://oo.my-svr.com
39
- - http://oo.my-svr.com:9980
31
+ - http://oo.my-svr.com:380
40
- - http://IPアドレス:9980
32
+ - http://IPアドレス:380
41
33
  - https://oo.my-svr.com
42
34
 
43
35
  **アクセス不可** 接続拒否、接続を確立できない。
44
- - https://oo.my-svr.com:9443
36
+ - https://oo.my-svr.com:3443
45
- - https://IPアドレス:9443
37
+ - https://IPアドレス:3443
46
38
 
47
39
  **OnlyOfficeのフロントエンドとしてNextcloudを利用**
48
40
  Nextcloudではhttps://oo.my-svr.com指定が必須。
@@ -53,18 +45,27 @@
53
45
  サイト自体はLet's EncryptでSSL化ができていて、
54
46
  80ポートでコンテナに繋がりOnlyOfficeに行く。
55
47
 
56
- ### 知りたいこと
57
- wssエラーはコンテナに443(9443)でアクセスできていないからエラーを出しているように予想しています。
58
- どうしたらコンテナに対してHTTPSでアクセスできるのでしょうか?
59
- そもそもそれは見当違いでしょうか?
60
48
 
61
49
  #### 試したこと。
62
50
  - コンテナ内にcrt, keyファイルを置いてコンテナ内で自己証明を設置。
63
51
  - コンテナ内のnginx.confに証明書の場所を書いて、(コンテナ内)nginxをリスタート。
64
52
  - 逆に証明書をローカルに設置。
65
- - Firewallで99809443を開放。
53
+ - Firewallで3803443を開放。
54
+ - VirtualBoxにCentOS7.7を入れてDockerが動くまで構築して検証。
55
+ - [公式マニュアル](https://github.com/ONLYOFFICE/Docker-DocumentServer)の通りに「docker run -i -t -d -p 443:443」でコンテナを作成しても、結局は同じ結果。コンテナ内に入りIPを調べhttps://172.xx.xx.xでもアクセス拒否。https://localhostも拒否。
56
+ - 外部からはcurl (35) で期限切れ。これらすべて本番と同じ結果です。コンテナに対しHTTPS接続して期限切れというのは普通なんでしょうか?
57
+ - 逆にコンテナ内に用意する自己証明書を無くして、指定ディレクトリも未設置・未設定。
58
+ → これだと純粋にLet's Encryptの証明書がコンテナまで行くのか淡い期待。しかし全く変化無し。つまりは、コンテナに証明書は要らない??
59
+ - oo.my-svr.comのnginx.confに下記のようなプロキシ設定を書いても全く影響なし。
60
+ ```
61
+ location .*/websocket$ {
62
+ proxy_pass http://localhost:380; #またはproxy_pass http://localhost:3443;
63
+ proxy_http_version 1.1;
64
+ proxy_set_header Upgrade $http_upgrade;
65
+ proxy_set_header Connection "upgrade";
66
+ }
67
+ ```
66
68
 
67
-
68
69
  ### 補足情報(FW/ツールのバージョンなど)
69
70
 
70
71
  - CentOS 7.7

1

追加マッピングに誤字

2019/11/12 11:47

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -17,7 +17,7 @@
17
17
  ```
18
18
  sudo docker run -i -t -d -p 80:80 onlyoffice/documentserver
19
19
  ```
20
- 以上のように打っても、null:443マッピングされてしまいます。
20
+ 以上のように打っても、null:443が追加マッピングされてしまいます。
21
21
  443:443で作ると、null:80が追加マッピングされてしまいます。
22
22
  なので
23
23
  ```