おそらく簡単な質問なのでお許しください...
私はポート5000経由で外部からアクセスできるSynogy NASを運用しています。また、ポート80の別のPCでWebサーバーも運用しています。ムードル外部から見えるようにしたい Synology 上のサーバー。
現時点では、NAS/Moodle 経由で内部的にのみ実行できます。リモートではすべて dyndns 経由でアクセスします。Moodle にリモートでアクセスする方法はありますか? 方法が思いつきません...
ありがとう!
答え1
答えは「ポート転送」です。ローカル ネットワークは、ルーター/ファイアウォールである NAT デバイスの背後にある可能性があります。そのデバイスは、インターネットからの着信パケットを受け入れる唯一のデバイスです。ローカル デバイスはパブリックにルーティングできないため、ルーターは、指示されない限り、着信パケットをどのローカル デバイスに送信するかわかりません。
境界デバイス (ルーター\ファイアウォール) にログインし、ポート転送ルールを探します。リモートで接続するには、NAS に moodle ポートを転送する必要があります。Moodle はポート 80 を使用します。すでに Web サーバーを実行しているとおっしゃいました。その Web サービスがすでにポート 80 を使用している場合は、Web サーバーまたは moodle サーバーのいずれかのポートを変更する必要があります。
ポート 8080 で実行できます。
または
着信トラフィックを処理する NGNIX などのプロキシを設定できます。その方法は、ポート 80 が NGNIX サーバーに転送されるというものです。次に、メインの Web サイトを yourhostname.com に置き、moodle サイトを moodle.yourhostname.com などのサブドメインに置くことができます。その後、NGNIX はホスト名に基づいてトラフィックを異なるバックエンド Web サーバーに転送できます。
そうは言っても、次のようなホスト型ソリューションを使用すればよいようです。 https://new.moodle.net/
答え2
Moodle が別のポート (80 以外) で実行されている場合は、ポート 5000 の NAS と同様に (つまり、ポート転送経由で) アクセスするようにルーターを構成できるはずです。
ただし、MoodleがNASのポート80で実行されている場合(または、別のポートでMoodleを使用するときにポート番号を表示したくない場合)、リバースプロキシネットワーク上で。簡単に言うと、リバース プロキシは、HTTP リクエストなどの着信をリッスンし、それらのリクエストを適切なサーバーに転送します。また、応答を元のクライアントに中継するのにも役立ちます。
リバース プロキシを作成するには、通常、この機能を処理するようにネットワーク上のサーバーを構成するだけです。NAS経由でこれを行うことは可能かもしれないが、Web サーバーだけで PC をもう少し制御できる可能性があります。その場合、通信チェーンは次のようになります。
<Internet> <---> <Router> <---> <Web Server [Reverse Proxy]> <---> <NAS>
<Web Server>
上の図ではがリバース プロキシですが、そのサーバー上で構成された Web サイトを配布できることに注意してください。
リバース プロキシを設定する実際の手順は、使用するデバイスやソフトウェアによって異なります。たとえば、Apache は特定のモジュールと「仮想ホスト」を使用しますが、Nginx は (仮想)「サーバー ブロック」を使用し、NAS には独自の構成方法がある場合があります。
いずれにせよ、一般的なルールとして、Moodle にアクセスするには 2 番目のドメイン名 (動的またはその他) が必要になります。これは、同じ IP:ポートの組み合わせで実行されている Web サイトを区別する最も簡単な (または唯一の) 方法です。これはサブドメイン (つまりhttp://subdomain.example.com
) になる可能性があります。