假设我有许多不同域名的网站, domain1.com , domain2.com等。我已经在wildfly中为这些网站设置了正确的虚拟主机configuration。 正确的DNS条目也到位。 如何将请求路由到我的服务器以便这些域名进行瘫痪?
我只是在端口80和443上运行野蛮? 有些东西告诉我这是一个糟糕的主意,因为默认情况下,wildfly不会在这些端口上运行。 要在这些端口上运行wildfly需要绑定到这些端口作为特权用户,然后切换到非特权用户。 这样做的麻烦和困难表明这是不正确的。
我在nginx或apache2后面运行野蛮吗? 我的应用程序dynamic地加速网站和虚拟主机configuration。 我是否可以将所有请求转发给wildfly并让它处理?
???
选项1是可能的,但正如你所预测的那样,这不是一个首选的方法。 为了在端口80或443上运行,您需要一个特权用户,并且直接向公众公开java服务器,从而更容易陷入困境。
因此,启动nginx,在那里定义域,并configurationupstream和proxy_pass作为你的wildfly实例的反向代理。 你可以免费获得loadbalancing,你可以在nginx上处理ssl而不是wildfly,整个设置就更容易维护和扩展。 您可以为每个域设置专用的wildfly集群,并拥有一个单独的upstream定义,也可以从具有单独的webcontexts的单个实例开始,例如
upstream jboss { server 192.168.33.11:8080; } server { listen 443; server_name example.com; location / { proxy_pass http://jboss/webapp1; } } server { listen 443; server_name otherdomain.com; #pass the request to another .war dewployed on jboss location / { proxy_pass http://jboss/webapp2; } }
你可以在nginx网站上find更多的信息