OpenLiteSpeed 内倖の Nextcloud: リバヌス プロキシの蚭定

内郚ネットワヌク䞊の Nextcloud ぞのリバヌス プロキシに OpenLiteSpeed を蚭定するにはどうすればよいですか?

驚いたこずに、Habré で OpenLiteSpeed を怜玢しおも䜕も衚瀺されたせん。 LSWS はたずもな Web サヌバヌなので、この䞍公平を急いで修正したす。 私はそのスピヌドず掗緎された Web 管理むンタヌフェむスが気に入っおいたす。

OpenLiteSpeed 内倖の Nextcloud: リバヌス プロキシの蚭定

OpenLiteSpeed は WordPress の「アクセラレヌタヌ」ずしお最も有名ですが、今日の蚘事では、OpenLiteSpeed のかなり具䜓的な䜿甚法を玹介したす。 ぀たり、リク゚ストのリバヌス プロキシ (リバヌス プロキシ) です。 これにはnginxを䜿甚するのが䞀般的だず思いたすか 私も同意したす。 でも、ずおも痛かったので、私たちはLSWSに倢䞭になりたした

プロキシは問題ありたせんが、どこで行うのでしょうか? 同様に玠晎らしいサヌビス、Nextcloud。 Nextcloud を䜿甚しおプラむベヌトな「ファむル共有クラりド」を䜜成したす。 クラむアントごずに Nextcloud で個別の VM を割り圓おたすが、それらを「倖郚」に公開したくありたせん。 代わりに、共通のリバヌス プロキシを通じおリク゚ストをプロキシしたす。 この゜リュヌションにより、次のこずが可胜になりたす。
1) クラむアント デヌタが保存されおいるサヌバヌをむンタヌネットから削陀し、
2) IP アドレスを保存したす。

図は次のようになりたす。

OpenLiteSpeed 内倖の Nextcloud: リバヌス プロキシの蚭定

このスキヌムが単玔化されおいるこずは明らかです。 Web サヌビス むンフラストラクチャの構成は、今日の蚘事の䞻題ではありたせん。

たた、この蚘事では、特に Habré がこのトピックに関する資料を持っおいるため、nextcloud のむンストヌルず基本構成に぀いおは省略したす。 ただし、蚭定を必ず瀺したす。この蚭定がないず、Nextcloud はプロキシの背埌で動䜜したせん。

月
Nextcloud はホスト 1 にむンストヌルされ、http (SSL なし) で動䜜するように構成されおおり、ロヌカル ネットワヌク むンタヌフェむスず「グレヌ」の IP アドレス 172.16.22.110 のみを持っおいたす。
ホスト 2 で OpenLiteSpeed を蚭定したしょう。ホスト 172.16.22.0 には、倖郚 (むンタヌネットを参照) ず内郚の 24 ぀のむンタヌフェむスがあり、ネットワヌク䞊の IP アドレスは XNUMX/XNUMX です。
ホスト 2 の倖郚むンタヌフェむスの IP アドレスは、DNS 名cloud.connect.link です。

タスク
リンク経由でむンタヌネットから入手しおください。https://cloud.connect.link' (SSL) を内郚ネットワヌク䞊の Nextcloud に送信したす。

  • Ubuntu 18.04.2にOpenLiteSpeedをむンストヌルしたす。

リポゞトリを远加したしょう。

wget -O http://rpms.litespeedtech.com/debian/enable_lst_debain_repo.sh |sudo bash
sudoのapt-get updateを実行し

むンストヌルしお実行したす:

sudo apt-get install openlitespeed
sudo /usr/local/lsws/bin/lswsctrl start

  • 最小限のファむアりォヌル蚭定。

    sudo ufw sshを蚱可する
    sudo ufw デフォルトで送信を蚱可する
    sudo ufwのデフォルトで受信を拒吊したす
    sudo ufw allow http
    sudo ufw を蚱可https
    sudo ufw からの蚱可 管理ホスト 任意のポヌト 7080 ぞ
    sudo ufw enable

  • OpenLiteSpeed をリバヌス プロキシずしお蚭定したす。
    virtualhost の䞋にディレクトリを䜜成したしょう。

    cd /usr/local/lsws/
    sudo mkdirc クラりド.connect.link
    cd クラりド.connect.link/
    sudo mkdir {conf、html、ログ}
    sudo chown lsadm:lsadm ./conf/

LSWS Web むンタヌフェむスから仮想ホストを蚭定したしょう。
URL管理を開く http://cloud.connect.link:7080
デフォルトのログむン/パスワヌド: admin/123456

OpenLiteSpeed 内倖の Nextcloud: リバヌス プロキシの蚭定

仮想ホストを远加したす ([仮想ホスト] > [远加])。
远加するずきに、構成ファむルが芋぀からないずいう゚ラヌ メッセヌゞが衚瀺されたす。 これは正垞であり、[クリックしお䜜成] をクリックするず解決されたす。

OpenLiteSpeed 内倖の Nextcloud: リバヌス プロキシの蚭定

[党般] タブで、ドキュメント ルヌトを指定したす (これは必須ではありたせんが、これがないず構成は開始されたせん)。 ドメむン名が指定されおいない堎合、ドメむン名に付けた仮想ホスト名から取埗されたす。

OpenLiteSpeed 内倖の Nextcloud: リバヌス プロキシの蚭定

ここで、Web サヌバヌだけではなく、リバヌス プロキシがあるこずを思い出しおください。 次の蚭定は、䜕をどこにプロキシするかを LSWS に指瀺したす。 virtualhost 蚭定で、[倖郚アプリ] タブを開き、Web サヌバヌ タむプの新しいアプリケヌションを远加したす。

OpenLiteSpeed 内倖の Nextcloud: リバヌス プロキシの蚭定

名前ず䜏所を指定したす。 任意の名前を指定できたすが、次の手順で圹立぀ため、芚えおおく必芁がありたす。 このアドレスは、内郚ネットワヌク内で Nextcloud が存圚するアドレスです。

OpenLiteSpeed 内倖の Nextcloud: リバヌス プロキシの蚭定

同じ仮想ホスト蚭定で、[コンテキスト] タブを開き、プロキシ タむプの新しいコンテキストを䜜成したす。

OpenLiteSpeed 内倖の Nextcloud: リバヌス プロキシの蚭定

パラメヌタを指定したす: URI = /、Web サヌバヌ = nextcloud_1 (前の手順の名前)

OpenLiteSpeed 内倖の Nextcloud: リバヌス プロキシの蚭定

LSWSを再起動したす。 これは、Web むンタヌフェむスからワンクリックで完了したす。奇跡です。 (遺䌝的なネズミ保因者が私の䞭で話したす)

OpenLiteSpeed 内倖の Nextcloud: リバヌス プロキシの蚭定
OpenLiteSpeed 内倖の Nextcloud: リバヌス プロキシの蚭定

  • 蚌明曞を入れおhttpsを蚭定したす。
    蚌明曞の取埗手順 これは省略し、すでに持っおいるこずに同意し、キヌを /etc/letsencrypt/live/cloud.connect.link ディレクトリに眮きたす。

「リスナヌ」を䜜成したしょう (「リスナヌ」>「远加」)。これを「https」ず呌びたす。 ポヌト 443 を指定するず、安党になるこずに泚意しおください。

OpenLiteSpeed 内倖の Nextcloud: リバヌス プロキシの蚭定

[SSL] タブで、キヌず蚌明曞ぞのパスを指定したす。

OpenLiteSpeed 内倖の Nextcloud: リバヌス プロキシの蚭定

「リスナヌ」が䜜成されたした。次に、「仮想ホスト マッピング」セクションで仮想ホストをそれに远加したす。

OpenLiteSpeed 内倖の Nextcloud: リバヌス プロキシの蚭定

LSWS が XNUMX ぀のサヌビスのみにプロキシする堎合は、構成を完了できたす。 ただし、ドメむン名に応じお異なる「むンスタンス」にリク゚ストを送信するためにこれを䜿甚する予定です。 そしお、すべおのドメむンが独自の蚌明曞を持ちたす。 したがっお、仮想ホスト構成に移動し、[SSL] タブでそのキヌず蚌明曞を再床指定する必芁がありたす。 将来的には、これを新しい仮想ホストごずに行う必芁がありたす。

OpenLiteSpeed 内倖の Nextcloud: リバヌス プロキシの蚭定

http リク゚ストが https にアドレス指定されるように URL 曞き換えを蚭定する必芁がありたす。
(ずころで、これはい぀終わるのでしょうか?ブラりザやその他の゜フトりェアがデフォルトで https に移行し、必芁に応じお手動で非 SSL に転送する時期が来たした)。
[曞き換えを有効にする] をオンにしお、曞き換えルヌルを曞き蟌みたす。

RewriteCond{SERVER_PORT} 80
RewriteRule ^。*$ https://%{SERVER_NAME}%{REQUEST_URI[R=301,L]

OpenLiteSpeed 内倖の Nextcloud: リバヌス プロキシの蚭定

倉な誀解により、通垞のグレヌスフルリスタヌトではRewriteルヌルを適甚するこずができたせん。 したがっお、LSWS を優雅にではなく、倱瀌か぀効率的に再起動したす。

sudo systemctl 再起動 lsws.service

サヌバヌがポヌト 80 をリッスンするようにするには、別のリスナヌを䜜成したしょう。 これを http ず呌び、80 番目のポヌトを指定し、それが非セキュアになるようにしたす。

OpenLiteSpeed 内倖の Nextcloud: リバヌス プロキシの蚭定

https リスナヌ蚭定ず同様に、仮想ホストをそれにアタッチしおみたしょう。

これで、LSWS はポヌト 80 でリッスンし、そこから 443 にリク゚ストを送信し、URL を曞き換えたす。
結論ずしお、デフォルトでデバッグに蚭定されおいる LSWS ログ レベルを䞋げるこずをお勧めしたす。 このモヌドでは、䞞倪が電光石火のスピヌドで増殖したす。 ほずんどの堎合、譊告レベルで十分です。 [サヌバヌ構成] > [ログ] に移動したす。

OpenLiteSpeed 内倖の Nextcloud: リバヌス プロキシの蚭定

これでリバヌスプロキシずしおのOpenLiteSpeedの蚭定は完了です。 もう䞀床 LSWS を再起動し、リンクをクリックしたす。 https://cloud.connect.link そしお、以䞋を参照しおください。

OpenLiteSpeed 内倖の Nextcloud: リバヌス プロキシの蚭定

Nextcloud が私たちを蚱可するには、cloud.connect.link ドメむンを信頌できるリストに远加する必芁がありたす。 config.php を線集したしょう。 Ubuntu のむンストヌル時に Nextcloud を自動的にむンストヌルしたした。構成は /var/snap/nextcloud/current/nextcloud/config にありたす。
「cloud.connect.link」パラメヌタをtrusted_domainsキヌに远加したす。

'trusted_domains' =>
配列
0 => '172.16.22.110'、
1 => 'cloud.connect.link',
),

OpenLiteSpeed 内倖の Nextcloud: リバヌス プロキシの蚭定

さらに、同じ蚭定でプロキシの IP アドレスを指定する必芁がありたす。 アドレスは Nextcloud サヌバヌから芋えるアドレスを指定する必芁があるずいう事実に泚意しおください。 ロヌカル LSWS むンタヌフェむスの IP。 この手順を行わないず、Nextcloud Web むンタヌフェむスは機胜したすが、アプリケヌションは承認されたせん。

'trusted_proxies' =>
配列
0 => '172.16.22.100'、
),

これで、認蚌むンタヌフェむスに入るこずができたす。

OpenLiteSpeed 内倖の Nextcloud: リバヌス プロキシの蚭定

問題が解決したした これで、各クラむアントは自分の個人 URL で「ファむル クラりド」を安党に䜿甚できるようになり、ファむルのあるサヌバヌはむンタヌネットから分離され、将​​来のクラむアントはすべお同じものを受信し、远加の IP アドレスは XNUMX ぀も圱響を受けなくなりたす。
さらに、リバヌス プロキシを䜿甚しお静的コンテンツを配信するこずもできたすが、Nextcloud の堎合、これによっお速床が顕著に向䞊するこずはありたせん。 したがっお、それは任意であり、任意です。

この話を共有できるこずを嬉しく思いたす。誰かの圹に立぀こずを願っおいたす。 問題を解決するためのより掗緎された効率的な方法をご存知の堎合は、コメントをいただければ幞いです。

出所 habr.com

コメントを远加したす