1

我有一个域www.example.com,我正在使用Glassfish,它在端口托管我的应用程序12544

所以我想知道两件事:

  1. 我怎样才能将其重定向www.example.com:12544www.example.com

  2. 同样的方式,但对于https? 我的意思是,https://www.example.com

我真的很新,Glassfish任何帮助将不胜感激。

4

1 回答 1

0

最好的方法是将Glassfish放在Apache http 服务器后面,并配置 apache 以将请求指向 glassfish。因此 http 请求由 Apache 处理,所有www.example.com请求都指向www.example.com:12544内部。以下是如何执行此操作的简要说明。

  • 安装 Glassfish 3+(确保您的侦听器已在8009上创建并激活,并且您jk已启用)
  • 安装Apache (2.2+)
  • 获取mod_jk连接器并将其放入apache 模块文件夹以进行配置。
  • 创建一个worker.properties文件并将其放入apache conf 文件夹中。它应该包含以下属性:
    worker.list=worker1
    worker.worker1.type=ajp13
    worker.worker1.host=localhost
    worker.worker1.port=8009
  • httpd.confapache conf 文件夹中打开文件 并放置以下命令(在虚拟主机之外):
LoadModule jk_module 模块/mod_jk.so
#worker文件的位置
JkWorkersFile conf/worker.properties
#jk日志放在哪里
JkLogFile 日志/mod_jk.log
#日志级别[调试/错误/信息]
JkLogLevel 调试
#日志格式
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# 表示发送 SSL KEY SIZE
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# 设置请求格式
JkRequestLogFormat "%w %V %T"
# 将所有 jsp 请求发送到 Glassfish
JkMount /*.jsp worker1
# 将所有 webapp 请求发送到 Glassfish
JkMount /* worker1

您还需要在 conf 文件中添加一个VirtualHost部分。这会将您的域映射到 Glassfish 中的路径,以便 Apache 能够看到它。下面告诉 apache 将所有 /myapp/* 链接映射到 glassfish

<VirtualHost 111.111.111.111:80>
    ServerAdmin admin@domain
    ServerName domain
    JkMount /myapp/* worker1
</VirtualHost>

注意:如果您的 Glassfish 侦听器未创建,您可以使用 glassfish asadmin 使用以下命令从 cmd 创建:

asadmin create-network-listener --protocol http-listener-1 --listenerport 8009 --jkenabled true jk-connector
  • 重新启动 Apache 和 Glassfish 以更新新配置。Apache 现在应该在端口 80 上看到您的 Glassfish。因此您的www.example.com:12544服务将在www.example.com.
于 2013-07-21T06:20:58.273 回答