私はGoogleを検索してきましたが、答えを見つけるのにあまり成功していません。 Ubuntuでサーバーを実行していて、さまざまな非標準ポートを使用するプログラムがインストールされています。それぞれが異なるポートを使用しており、私の場合、それらは9090、9091、9092、9093、および9094です。Apacheサーバーをセットアップし、IPアドレスを入力する代わりにサーバーに到達できるドメイン名を持っています。私が探しているのは、リストしたさまざまなポートを指すことができるディレクトリを作成する方法です。私は次のようなものが欲しい:
https://www.mydomain.com/app1 https://www.mydomain.com/app2 http://www.mydomain.com/app3
一部のポートはSSLを介しており、一部はそうではありません。自分の使いやすさを考慮して、ポートを順番(9090-9094)に配置しました。/app1でSSLポート9090をポイントし、/ app2でSSLポート9091をポイントし、/ app3で非SSLポート9092をポイントしたいのですが、簡単な方法はありますか?他の投稿に基づいてProxyPassなどを追加しようとしましたが、何も機能しません。新しいサイトを追加する必要がありますか?
また、これにファイルの編集が含まれている場合は、ファイルのデフォルトの場所と追加先をリストしていただければ幸いです。私はProxyPassを追加するように言っている投稿を見続けたので、それがVirtualHostの内部にあると想定しただけでしたが、完全にはわかりませんでした。基本的に、私はWebサーバーのセットアップについてほとんど知りません。そのように扱われる必要があります。
間違ったタグをお詫び申し上げます。投稿を読むのにかかった時間と、提供できるヘルプに感謝します。
編集:明確にするために、アプリケーションはhttps://www.mydomain.com:9090
などを介して既にアクセス可能です。https://www.mydomain.com/appName
を使用して、これらのアプリケーションによって公開された同じ場所/ページにアクセスする方法が欲しいのですが。
編集2:/ etc/Apache2/sites-available/defaultから
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${Apache_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${Apache_LOG_DIR}/access.log combined
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /app1 https://localhost:9090/
ProxyPassReverse /app1 https://localhost:9090/
</VirtualHost>
以下のApacheモジュールがインストールおよびロードされていることを確認してください。
mod_proxy
mod_proxy_http
mod_ssl
ルートとして次のコマンドを実行して確認できます(httpdが$ PATHにあると仮定)
httpd -t -D DUMP_MODULES
その後、構成を次のように変更してみてください。
ProxyRequests Off
<Proxy *>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Proxy>
SSLProxyEngine on
ProxyPass /app1 https://localhost:9090
ProxyPassReverse /app1 https://localhost:9090
Mydomain.comがlocalhostを指していると仮定して、http://localhost/app1
またはhttp://mydomain.com/app1
にアクセスすると、プロキシが機能するようになります。