diff --git a/website/docs/deployment/https-gateway.md b/website/docs/deployment/https-gateway.md new file mode 100644 index 00000000..928a1d5c --- /dev/null +++ b/website/docs/deployment/https-gateway.md @@ -0,0 +1,45 @@ +--- +sidebar_position: 8 +title: 搭建 https 网关(可选) +--- + +在 `Tailchat` 中,有一些服务是强依赖 `https` 的,比如音视频通话、嵌入外部的 `https` 媒体资源与网页等。 + +同时为了用户的安全性,我们非常建议将 `Tailchat` 对外以 `https` 服务的形式提供。 + +![](/img/architecture/https-gateway.excalidraw.svg) + +如果你没有相关的经验,且在同一台机器上只部署了 `Tailchat` 服务(没有占用 **80**/**443** 端口),那么我们推荐从 `Tailchat` 自带的 `swag` 配置开始。 + +:::info +你可以在 [Github](https://github.com/msgbyte/tailchat/tree/master/docker) 看到原始的配置内容 +::: + +通过以下命令直接拉取所需要的配置文件 +```bash +wget https://raw.githubusercontent.com/msgbyte/tailchat/master/docker/swag.yml +wget https://raw.githubusercontent.com/msgbyte/tailchat/master/docker/swag.env.example -O swag.env +mkdir config +wget https://raw.githubusercontent.com/msgbyte/tailchat/master/docker/config/nginx.conf -O ./config/nginx.conf +``` + +完成后应该会在在当前目录看到以下三个文件: +- `swag.yml` +- `swag.env` +- `config/nginx.conf` + +修改`swag.env`的内容,将 `URL` 的值改为域名, 如: `URL=tailchat.example.com` + +:::info +`https`协议是依赖域名做证书校验的,因此需要提前分配一个域名指向目标服务器 +::: + +域名的地址需要在购买域名的管理后台创建一条A指向记录。 + +在分配好域名后我们就可以启动服务了。 + +```bash +docker compose -f ./swag.yml up -d +``` + +如果一切顺利的话,此时`swag`服务已经自动为你申请了一个证书并启动了反向代理服务,此时在浏览器访问 `https://tailchat.example.com` 的话可以看到熟悉的界面已经出现了。 diff --git a/website/static/img/architecture/https-gateway.excalidraw.svg b/website/static/img/architecture/https-gateway.excalidraw.svg new file mode 100644 index 00000000..88231904 --- /dev/null +++ b/website/static/img/architecture/https-gateway.excalidraw.svg @@ -0,0 +1,16 @@ + + + eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nN1cXGtTo8pcdTAwMTb97q+wcr6cUzXJ9PsxVbdu+Vx1MDAxOF9cdTAwMTNcdTAwMWQ1Ource8pCQlx1MDAxMpRAXHUwMDBlkGicmv9+XHUwMDFiXHUwMDEyXHUwMDAzhECISah4qZRcdTAwMWFoYNO919pr7278tbW9XfGHPaPyZbtivOiaZTZd7bnyKdg/MFxcz3RsdVxihd89p+/qYcuO7/e8L58/dzX3yfB7lqZcdTAwMWK1gen1Ncvz+03TqelO97PpXHUwMDFiXe/fwc8zrWv8q+d0m75bi25SNZqm77ije1x1MDAxOZbRNWzfU1f/j/q+vf0r/Fx1MDAxObPONXRfs9uWXHUwMDExnlx1MDAxMFx1MDAxZYpcZoSITO89c+zQWIglXHUwMDAyVFAoJy1Mb1/dzzea6nBL2WxER4JdlbvrM3h53jtsytfmab1l3+gv0I5u2zItq+FcdTAwMGatUVdoeqfvxozyfNd5Mm7Mpt9cdO4+tX9ynueoXojOcp1+u2NcdTAwMWKelzjH6Wm66Vx1MDAwZoN9XHUwMDAwTPaOeuHLdrTnRX1cdTAwMTOQ1oiMNj45XHUwMDFhnE+JqEFcdTAwMTZtdMquPcdSQ6Hs+lx1MDAwM4RbZNmDpj+1lXl2c9LGdzXb62muXHUwMDFhsKjd8/iJsYjs6lx1MDAxOGa741x1MDAwN+ZTXHUwMDFj3dBcYjueMqlcdTAwMDZcdTAwMDbL6GmDu/SOm6FcdTAwMGb8Pd1vXHUwMDFkze2N+6fiXHUwMDA1X2JcdTAwMTZcdTAwMDbGfZ12oLhcdTAwMTPFxvaq5cpXUN2nvjG8bZzWjVx1MDAwNlx1MDAxM1x1MDAxN5NrJTxOc13nuTI58vvT7Ou+NfeNXHUwMDE3P3mh0Vx1MDAxZE915lx1MDAxZF1cdTAwMWRcdTAwMWRcdTAwMWZbXHUwMDAzr9dq75n6wS6ff9nRyeCE+5pWpd++X3gvev1lKJ7bd8XMXHUwMDFk/1x1MDAxNfVkv9fURk5cdTAwMGZcdTAwMTnHXFxgwTFcdTAwMTBictwy7Sd10O5bVrTP0Z9cIpxsxVxmTlx1MDAwMXR0/1x1MDAxOeAknGWBk0omXHUwMDAwh1xmXHUwMDE2xmb++G0oNiGUvMY4kISOPjRcdTAwMDFOhliNXHUwMDBiLlx1MDAxMEdEMCbJ2sApRU2CoNPJ6MPTUFx1MDAwNTWJuESIUTVuykOomEauYlTMoIRcdTAwMDQvXHUwMDBl3dDWXHUwMDFj6OZ5KyXKqlx1MDAwNbw1Zofm+rum3TTttjpcdTAwMTjB7C3sXHUwMDFjXHUwMDE3oP3gKbVeXHUwMDEwXGZrMDaSUlx1MDAwMlx1MDAxNmvScvS+XHUwMDE39lwiXHUwMDAwRLXDXHUwMDA0XHUwMDExojqUKLCNW01cdTAwMDBfMezmfKvuXHUwMDFmXHUwMDFl9l5cdTAwMWVcdTAwMDfVq7P64eXt3jdr9+bxOW1cdTAwMTWuIcpcYlx1MDAxNHL0iTwsZlRVWUVcdTAwMThcdTAwMDBIMoxcdTAwMDVcdTAwMDScS5YyytI8f8/pdk1f9f65Y9r+dC+H3blcdTAwMTOgvWNozemj6qHix6ZpoVx1MDAxN1xcMcnS0V/bXHUwMDExbsIvk7///jSzdaY7h2enXHUwMDFjObrcVvx3XHUwMDE2oeUrXHUwMDBlzqf3vpFcdTAwMWGRglx1MDAwMNW1xUktf4w3ldSQlDWBoy0pOChKyFx1MDAxMTll11xuXHUwMDA1XHUwMDA3o7WYXHUwMDE1OMZcdTAwMTGR/ogx3ZjFsCSQSSSiXHUwMDAz/6f6o33NOkMsXHUwMDFmSO/n1X2j8fXW/dn4VlR/1HGn2rIuXHUwMDAxuv7ZvDz/9lxiX+zn06XMXHUwMDFkXZfzu3Orc9c/3zV3hrZcdTAwMThcdTAwMWU8vv7TWMF1f1Rv/F1cZi/IQd15XHUwMDA25+RBJ8+3K7iuZN0r+Sr2v1x1MDAwZY/s033v/MF9go+r0mFcdTAwMTJzJVx1MDAwZValw1x1MDAxMn5cdTAwMTBjLCmmd75cdTAwMTGWUPmRQFBcdTAwMTbPkGZr2lxyJyypZFackpJcIkxF8lx1MDAxYSslQ4IxSTVhKFx1MDAxYdn6RlBYOVx1MDAwNeLwXHUwMDFkKmtcdTAwMWVB5aksXHUwMDA2KeRcdTAwMGL4YjToju03zNeg31x1MDAxMUjsPdC6pjVMjFvopMrSQ3X3Z234Z+Nm5/Cv/9p/hpWFv+J961x1MDAxOcqGMKzixNk7ltlcdTAwMGXcuqKrpzLchMf7pq5Zk1x1MDAwNl2z2YxcdTAwMDdxXZmkqWu6RWRfxXHNtmlr1lW+xe+CJEZZkGSSU1x1MDAwNFx0w4UhOZvmN1x1MDAxY5IqlYA1mYlJpVVcdTAwMTNH1ydcIqCARTBcdFx1MDAwNZJKz0u4hqpFNihcdOFIxioo61x1MDAwNuWVZlp6R/O3x74+9vJyYTlHXHUwMDEzT8My0+ZcXGBcdTAwMWGWZfa82Vx1MDAwMlx1MDAxZtIscHKmclxyTGhhbH679lx1MDAxZW/6ry9UtHZwo75/8/20Pdh0bFJcYlx1MDAxM7pcdTAwMWFMXHR8XGZLXHUwMDEy+JDPqijyNDhVoo0pYVxcrlx1MDAxZZx52nCJXHUwMDFh3TslfcN51PeuzNdDXHUwMDEzvprWNdo/uzy5XrD0JyVYhFFyYZRd+svUnEraUFo8Q87v41xyRVx1MDAxMJPJzDRcdTAwMTnbIClcdTAwMGI/XHUwMDEwpfGTrsdjXG5cdTAwMThWSf3i4FmiqKeiqWCLpD4xO1xuXHUwMDE19fKpdztZXHUwMDFjo4RcdTAwMDOOmOBcdTAwMDRgXHUwMDAxqYw1XHUwMDFiVdnUmFx1MDAwMVx1MDAwNGAgVCRcdTAwMDFcYoF0/axQUW9uqTFWR0SIXHUwMDBigNXIQM5cdTAwMTRmJEtZNTW1w1HKqI9U1Iu5a7DhqP1W/PeiWjs7nKtIr3RcdTAwMWTmoHhAn03AXHUwMDFiTkeUiVx1MDAxYzpcdTAwMDK4JKlNZ9TnUCzbXHUwMDFlXHUwMDA3cy4pxVxiiDVcdTAwMDTz/LhcYmLCbt1Ke88yXHUwMDEzfVx1MDAxNNPVUCRar0xXz9Gi07p6bGEu5HJcdTAwMGLlLDPHVVx1MDAxZctcdTAwMTWLXHUwMDAyVFx1MDAxY3fdnUG3c2JcZvvwR9PWbrTrr8ads+m4gyp7y1x1MDAwNlx1MDAxZYFlXHUwMDE1ylx1MDAxMZsx3Vx1MDAxN8t7x8hcdTAwMTOAM8xQjC/XrKLnqd1778drz7YvXHUwMDA29/5907rTxWnXbpRQwJ6voqVcdTAwMWFMXHUwMDFl+feSKjp/vlx0ZE6iQ1x1MDAwNSNcdTAwMTRMOVx1MDAxNYbRbv1cdPnMrnrQuG391PTTu25/8+ebOEY5802krFJRQVx1MDAxOEFAhEpylJNsXG6O6i39XHUwMDFjwq93sHN0YWL98L5x8f2+hFx0m1wiOFwiXHUwMDEyL1x1MDAxMnVXrFx1MDAwMFx1MDAxOVx1MDAwMJJwLIpXW2dz0qYjSMCcXHUwMDE5W6JcdTAwMTBUTiBcdTAwMTKFXHUwMDE0IJNcXHJcdTAwMDJBufNcdTAwMWZcdTAwMTJSjFx1MDAxN6H05Vx1MDAwNGDDcFx1MDAwN6ZueLBUXHI4R0ZNa8DIyPfhLjtyXHUwMDA1+p5cIoaLXHUwMDE3gmaT2OZcdTAwMDNP5IQulZeVXHUwMDEzumLTKznAXHUwMDBiilx1MDAxZsomtFx1MDAwNlx1MDAwMZhcdTAwMGI8zlx0KVx1MDAxZHioVODNXHUwMDExXlnAQ0vkX1x1MDAxMGdcdTAwMTc+XHUwMDE4g1xmUraAcjxcdTAwMTKD4YlRPzy4O0Hu5X3r4Omf7u3Gw4/jnLjHmNww5SiIXHUwMDEwXGZcdTAwMGJZ8tKkny2/d9/Bg0a/2Vx1MDAxYn63299vr5g3W+KFKJqrXHUwMDFj51x00tk3LChIl1jpU0SQMixXlthlXHUwMDA1xuzZXHUwMDExXCIoRkxcdTAwMTYvjOSP3abiUjCYU5GUvCxcXJI0LGdUJFV+wJGgZVx1MDAwYlLEKFpkkf5ycbGmtlJD4pyIMlx1MDAxZFx1MDAxMkP7loiGXHUwMDA0ZGGOXHUwMDEzXHUwMDAwXHUwMDE4kKi4XHUwMDE29fHjQ/2UP9WNx5uObqG7NrNfN1x1MDAxZXSc5GhRXHUwMDAxytKiRYMhw1x1MDAxY2C6jlVwedGlfmDcXTq96tHBff3kXGY4x2d+/XCdsXD2XHJcdTAwMGLGwvWvTo3GZU2xkGbiXHUwMDEySiwlUdBcXCBJzFx1MDAxZL1NXHUwMDA1psA0XHUwMDA3mJiVlSTiNC5nREOqRlx1MDAwNatgWOpKOFx1MDAxNVxyJVx1MDAxMOWthHtLwM5KXHKJc+JKVpZ4llx1MDAxZlx1MDAxNzNcdTAwMTfpwMw3WaCgXHUwMDAyYLDAKtT86ZZNRVx1MDAxZeMsW4dSKkqqi8Y4cII8mY6IXHUwMDEwcMpcdTAwMTgg70DeMit1XHUwMDE2neuK2VFopc7cXHUwMDE33aI1McG6eJVcdTAwMWYxhFRfMFx1MDAxMmszXqZcdTAwMDNcdTAwMTMrYlx1MDAwNH3nMp38OmnCJIEoUv2DVX6g0neCUjbhlFx0XHUwMDFmaVFcdTAwMGVNNK9KXHUwMDE4nbBcdTAwMTX/vTj55FSnMFBcIpHy4tWp/EmqzWWfnGWCVNKS2GfWy8AwXHUwMDE194XAXHUwMDA0XHUwMDA271OWTD5cdTAwMGJOXHUwMDEwrpF8XHUwMDEwplx1MDAxNENcbqWQilpQpEZcIvpcdTAwMDGroZ/8anHCKMooQFx1MDAwMjIoQGjfLJvoh2ag5Mu9VUijXHUwMDEzlmMglD09RSBignFevFx1MDAwZZdflfyQXGbEKCtL/8yow5FodCZcdTAwMTVcdTAwMDFcdTAwMDFcYlwiJa9TZpTARZLgtVx1MDAxMVBVXHUwMDAxOXhNXHUwMDBmSFx1MDAxZVRcdTAwMDaVXHUwMDEynLFMeUVcdTAwMDSUX5tLXHUwMDFhxVx0ppAq+Vx1MDAwM1x0XHUwMDAxXHUwMDEypVx1MDAwNdCHZyBK4s1cdIvaL0dAsVx1MDAxNHqKgLCEWMVaUVxcXHUwMDAx5VeCNpd/cvIvJstaIFx1MDAxOS34jykgnP7/J0RcdTAwMDAoWfxcdTAwMDWwcjTQgnW4dVJcdTAwMTDnKChcclx1MDAxMFwi1Vx1MDAwZlxu0+8krCpcdTAwMDXLr4UkjZJI5V6TXHUwMDBmTNuEPzpcdTAwMDPJeHPlmllcdTAwMTS0Nb5ERev1XHUwMDFhvvKjSVx1MDAwZitXNZvjOlj0XHUwMDFjlYFpPO+m4fJHK9yCwlLYY1x1MDAwMYFcdTAwMTjB0/z6vfX7f6yoTCMifQ== + + + + Gateway(SWAG)(https)Tailchat Gateway(http)ClientServices1Services2....ServicesN \ No newline at end of file