Ubuntu

將 Rocketchat 和 Nextcloud 與 snap 安裝在一台伺服器上,相同的埠

  • December 21, 2018

我安裝了一個新的 Ubuntu18 伺服器,通過 snap 安裝了 Nextcloud 和 Rocketchat。

啟用letsencrypt後,Nextcloud監聽443埠,Rocketchat監聽3000埠。

我希望兩者都可以根據域名在埠 443 上偵聽,而不必處理他們的證書。(https://rocketchat.example.com:443>和<https://nextcloud.example.com:443)。

當我搜尋時,似乎我應該安裝 apache 或 nginx 並做一個代理伺服器。但一切都直接處理證書,我想避免。是否可以 ?

這個問題給了我如何做的提示,我來到了以下 apache 反向代理的配置文件:

nextcloud.conf:

LoadModule ssl_module modules/mod_ssl.so

&lt;IfModule mod_ssl.c&gt;
&lt;VirtualHost _default_:443&gt;
       ServerName nextcloud.example.com

       SSLProxyEngine On
       SSLProxyVerify none
       SSLProxyCheckPeerCN off
       SSLProxyCheckPeerName off
       SSLProxyCheckPeerExpire off

       SSLCertificateFile /var/snap/nextcloud/current/certs/live/fullchain.pem
       SSLCertificateKeyFile /var/snap/nextcloud/current/certs/live/privkey.pem

       Proxypass / https://localhost:44300/
       ProxypassReverse / https://localhost:44300/
&lt;/VirtualHost&gt;
&lt;/IfModule&gt;

火箭聊天.conf:

&lt;VirtualHost _default_:443&gt;
       ServerName rocketchat.example.com

       SSLCertificateFile /etc/letsencrypt/live/chat.ljp.upmc.fr/fullchain.pem
       SSLCertificateKeyFile /etc/letsencrypt/live/chat.ljp.upmc.fr/privkey.pem

       &lt;Location /&gt;
               Order allow,deny
               Allow from all
       &lt;/Location&gt;

       RewriteEngine On
       RewriteCond %{HTTP:Upgrade} =websocket [NC]
       RewriteRule /(.*)           ws://localhost:3000/$1 [P,L]
       RewriteCond %{HTTP:Upgrade} !=websocket [NC]
       RewriteRule /(.*)           http://localhost:3000/$1 [P,L]

       ProxyPassReverse / http://localhost:3000/

&lt;/VirtualHost&gt;

引用自:https://serverfault.com/questions/946292