1. ホーム
  2. apache

[解決済み] Apache を別のポートにリダイレクトする

2022-04-29 01:56:14

質問

以前から悩んでいたのですが、間違いなく何か間違っているようです。

私は同じマシン上にapacheサーバーとJBossサーバーを持っています。 私はmydomain.comのトラフィックをJBoss localhost:8080/exampleにリダイレクトしたいのですが、どうすればいいですか? DNSは現在mydomain.comのために設定されており、ブラウザに入力するとポート80に直行します。

質問は、あるドメイン名(この場合、"mydomain.com")がapacheに来たときに、別のポートにリダイレクトするにはどうすればいいでしょうか?

<VirtualHost ip.addr.is.here> 
  ProxyPreserveHost On
  ProxyRequests Off
  ServerName mydomain.com
  ProxyPass http://mydomain.com http://localhost:8080/example
  ProxyPassReverse http://mydomain.com http://localhost:8080/example
</VirtualHost> 

提案を含むUPDATED - 8080番ポートへの転送がまだできない

<VirtualHost *:80> 
  ProxyPreserveHost On
  ProxyRequests Off
  ServerName mydomain.com
  ServerAlias www.mydomain.com
  ProxyPass http://mydomain.com http://localhost:8080/example
  ProxyPassReverse http://mydomain.com http://localhost:8080/example
</VirtualHost> 

解決方法は?

ドメインを削除する必要があります。 http://example.com をProxyPassとProxyPassReverseで使用し、それを / . さらに / の末尾にある example/ をリダイレクト先に指定します。また、いくつかの問題がありました http://example.com vs. http://www.example.com - ServerNameをwww.example.com、ServerAliasをexample.comにするまでwwwしか動かなかった。以下を試してみてください。

<VirtualHost *:80> 
  ProxyPreserveHost On
  ProxyRequests Off
  ServerName www.example.com
  ServerAlias example.com
  ProxyPass / http://localhost:8080/example/
  ProxyPassReverse / http://localhost:8080/example/
</VirtualHost> 

これらの変更を行った後、必要なモジュールを追加し、apache を再起動します。

sudo a2enmod proxy && sudo a2enmod proxy_http && sudo service apache2 restart