ポート80と443に2つのHTTPサーバー

ポート80と443に2つのHTTPサーバー

私はホームサーバーでApacheを使用しており、主なアプリケーションの1つはOwnCloudです。したがって、インターネットからアクセスするにはURLを使用してください - >

https://my_host.no-ip.org/owncloud

同じサーバーで別のHTTPアプリケーションを使用しています。アプリケーションには独自のHTTPサーバーがあり、Apacheを使用しません。したがって、この時点では、8080および8081をHTTP / HTTPSポートとして使用します。問題は、2番目のアプリケーションにアクセスすることです。たとえば、ホテルにあるが(WiFiサービスを使用)、プロキシサーバーの背後にあるときです。これらのサーバーの90%はポート80と443のみをプロキシし、SOCSを含む他のポートはプロキシしません。私のISPは1つのIPアドレスしか提供していないため、2つの異なるIPアドレスへのアクセスを分割することはできません。だから私の質問は次のとおりです。 URLを使用して2番目のアプリにアクセスする方法はありますか?

https://my_host.no-ip.org

URLを介してowncloudにアクセスします。

https://my_host.no-ip.org/owncloud

どちらも標準ポート443にあります。この時点で、最初のURLはインターネットのどこかの他のWebサイトにリダイレクトされますが、これは私には必要ありません。

どんなアイデアがありますか?可能ですか?

ベストアンサー1

ポート8080と8081で2番目のApacheサーバーを実行し続ける場合は、次のいずれかを実行できます。

  1. 着信を転送するポート80の最初のサーバーにリバースプロキシを設定しますhttps://my_host.no-ip.org/owncloud
  2. https://my_host.no-ip.org/owncloud着信トラフィックに対して301転送を実行しますhttps://my_host.no-ip.org:8081/
  3. https://my_host.no-ip.org/owncloudのURL書き換えを行いますhttps://my_host.no-ip.org:8081/owncloud

このオプションのうち#1を使用します。これを行う方法の詳細については、次のタイトルの記事を参照してください。Apache HTTPdをリバースプロキシ(mod_proxy)として設定する

一般的なステップ

  1. httpd.confディレクトリ内のファイルを開きます<httpd_home>/conf
  2. 次のLoadModuleディレクティブを見つけて、先頭の#ディレクティブを削除してコメントを削除します。

    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
    
  3. 再ルーティングを有効にするには、httpd.confの下部に次の行を追加します。

    ProxyPass /console http://localhost:8080/console
    ProxyPass /images http://localhost:8080/images
    ProxyPassreverse / http://localhost:8080/
    

おすすめ記事