最初,我在网络上安装了两个Weblogic应用服务器,第一个WebLogic on IP地址为192.168.0.201(hostname firstserver.example.com) 和IP地址192.168.0.202上的第二个Weblogic服务器(主机名secondserver.example.com) 我已经在我的oracle虚拟盒上安装了apache服务器(用于配置反向代理以进行测试)
最初,我为一台应用服务器配置了反向代理 我已经像这样配置了反向代理 的httpd.conf
<VirtualHost 127.0.0.1:80>
ServerName www.firstserver.com
ServerAlias firstserver.com
ErrorLog /var/log/httpd/error_log
TransferLog /var/log/httpd/access_log
<Location /console/>
ProxyPass http://firstserver.example.com:7001/console/ retry=0
ProxyPassReverse http://firstserver.example.com:7001/console/
</Location>
</VirtualHost>
当我在浏览器(www.firstserver.com/console /)上输入以下地址时,它完美无缺。
我在主机文件中输入了以下详细信息
192.168.0.201 firstserver.example.com firstserver
192.168.0.202 secondserver.example.com secondserver
我在httpd.conf中尝试了不同的设置,如
Listen 192.168.0.201:80
Listen 192.168.0.202:80
NameVirtualHost 192.168.0.201:80
NameVirtualHost 192.168.0.202:80
<VirtualHost 192.168.0.201:80>
ServerName www.firstserver.com
ServerAlias firstserver.com
ErrorLog /var/log/httpd/error_log
TransferLog /var/log/httpd/access_log
<Location /console/>
ProxyPass http://firstserver.example.com:7001/console/ retry=0
ProxyPassReverse http://firstserver.example.com:7001/console/
</Location>
</VirtualHost>
<VirtualHost 192.168.0.202:80>
ServerName www.secondserver.com
ServerAlias secondserver.com
ErrorLog /var/log/httpd/error_log
TransferLog /var/log/httpd/access_log
<Location /console/>
ProxyPass http://secondserver.com:7001/console/ retry=0
ProxyPassReverse http://secondserver.com:7001/console/
</Location>
</VirtualHost>
但没有奏效 请建议我更好的解决方案
答案 0 :(得分:0)
您的apache配置显示您误解了“Listen”和“Servername”指令的含义。这些值应该是解析到Web服务器的值,告诉Apache在哪个IP地址上侦听请求以及如何处理到达“www.webserver.com”的任何HTTP请求。这些不应以任何方式解析为应用程序服务器。
如果您在运行浏览器的计算机的主机文件中添加“[网络服务器的IP地址] www.webserver.com”,则此示例适用于您的示例:
<VirtualHost *:80>
ServerName www.webserver.com
ErrorLog /var/log/httpd/error_log
TransferLog /var/log/httpd/access_log
<Location /console/>
ProxyPass http://firstserver:7001/console/
ProxyPassReverse http://firstserver:7001/console/
</Location>
这是一个NamedVirtualHost示例,如果您在客户端上为您的网络服务器提供了第二个主机文件条目(“www.webserver2.com”):
<VirtualHost *:80>
ServerName www.webserver.com
ErrorLog /var/log/httpd/error_log
TransferLog /var/log/httpd/access_log
<Location /console/>
ProxyPass http://firstserver:7001/console/
ProxyPassReverse http://firstserver:7001/console/
</Location>
</VirtualHost>
<VirtualHost *:80>
ServerName www.webserver2.com
ErrorLog /var/log/httpd/error_log
TransferLog /var/log/httpd/access_log
<Location /console/>
ProxyPass http://secondserver:7001/console/
ProxyPassReverse http://secondserver:7001/console/
</Location>
</VirtualHost>
这样,您可以从客户端访问www.webserver.com/console和www.webserver2.com/console