さまざまなポートでさまざまなサービスを実行しているGlassFishインスタンスがあります。 Apache WebサーバーがGlassFishの前にあり、GlassFishサーバーの特定のポートにリダイレクトするようにApacheに仮想ホストを設定したいと思います。
ポート8009でリッスンするjvm-optionとしてTomcatAJPを追加し、必要な.jarをlib /の下に配置しました。
同じインスタンス上のポート8009から特定のポート(サービス)にリダイレクトするようにGlassFishを設定するにはどうすればよいですか?
Ajpを使用する代わりに、mod_proxyを使用することをお勧めします。私はそれを自分で大成功させました。自分のものを設定する方法では、ディレクトリを指すように仮想ドメインを構成し、次のように.htaccessファイルを作成します。
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
もちろん、HTTPポートに一致するように変更してください。 Tomcat(私が使用している)では、confの下のserver.xmlでも編集します。ポート8080のコネクタの場合、仮想ホストと一致するようにproxyNameを設定し、proxyPortを80に設定します。
/ etc/Apache2/sites-availableの下の構成に動的仮想ホストを使用していることに注意してください。サイト構成(debianを使用しています)は次のようになります。
<VirtualHost IP>
Servername yourdomain.com
ServerAlias *.yourdomain.com
UseCanonicalName Off
LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
CustomLog /var/www/yourdomain.com/logs/custom.log vcommon
ErrorLog /var/www/yourdomain.com/logs/error.log
TransferLog /var/www/yourdomain.com/logs/access.log
RewriteLog/var/www/yourdomain.com/logs/rewrite.log
RewriteLogLevel 2
VirtualDocumentRoot /var/www/yourdomain.com/sites/%1/html
VirtualScriptAlias /var/www/yourdomain.com/sites/%1/cgi-bin
LogLevel debug
<Directory /var/www/yourdomain.com/sites/>
AllowOverride All
</Directory>
</VirtualHost>
これは、stackoverflow.yourdomain.comが/var/www/yourdomain.com/sites/stackoverflow/htmlに移動することを意味します
私はあなたが最後の部分を求めていなかったことを知っています、私は私のセットアップの完全な概要と、ProxyPassとProxyPassReverseで.htaccessファイルにどのように適合するかを与えるためにそれを提供しました
Glassfishアプリケーションサーバーで使用するために特別に実装され、管理コンソールから開始されたGlassfishアプリサーバー構成コマンドに反応できるApacheモジュールmod_loadbalancerを使用することをお勧めします。
例を参照してください- https://blogs.Oracle.com/kshitiz/entry/load_balancer_plugin_in_glassfish
Apacheを使用して、さまざまなタイプのいくつかの異なるサーバーを指すことができます。
#conf.dのmy_proxies.confというファイルにドロップしてください #Apacheはconf.d/*。conf NameVirtualHost*: 80 <VirtualHost *:80> #このApacheは、イメージとcgi-bin ProxyPass/images![.____を提供します。 ] ProxyPass/cgi-bin! # #このサーバーにあるもの(Jetty、Glassfish、Tomcat、またはApache) # ProxyPass/foo http:// localhost:8080/foo ProxyPassReverse/foo http:// localhost:8080/foo Redirect/foo http:// localhost:8080/foo ErrorLog /tmp/foo_error_log CustomLog /tmp/foo_access_log # #ルートが最後に来る #メインアプリを専用のサーバーに配置しましょう # ProxyPass/http: //localhost:9090/ ProxyPassReverse/http:// localhost:9090/ ErrorLog/tmp/bar_error_log CustomLog /tmp/bar_access_log # </ VirtualHost>