如何解决Bitnami Tomcat版本8.5.16-0非常旧的版本,如何通过服务器名进行代理
我正在运行一个非常旧的bitnami堆栈(版本8.5.16-0),但现在无法对其进行更新。
我需要将其配置为使用ServerName
代理到另一个端口中运行的另一个服务。
我尝试过此方法,但不起作用:
我已添加到/opt/bitnami/apache2/conf/bitnami/bitnami-apps-vhosts.conf
:
<VirtualHost *:80>
ServerName sub.mycompany.com
ProxyPreserveHost On
ProxyPass / http://localhost:3001/
ProxyPassReverse / http://localhost:3001/
</VirtualHost>
因此,当我访问http://mycompany.com
时,我需要它来继续访问tomcat的默认AJP代理配置。但是,当我访问http://sub.mycompany.com
时,我需要代理端口3001上运行的该自定义服务。
我在做什么错了?
解决方法
Bitnami工程师您好,
在var keywordIndex = Math.floor(Math.random() * keywords.length);
selectedKeyword = keywords[keywordIndex];
中添加自定义VirtualHost是执行此操作的正确方法。我刚刚启动了与您使用的相同的解决方案,并将其添加到该文件中
/opt/bitnami/apache2/conf/bitnami/bitnami-apps-vhosts.conf
我没有在端口3001中运行服务,但是我将Apache配置为将连接重定向到google.com。重新启动Apache
<VirtualHost *:80>
ServerName mydomain
RewriteEngine On
RewriteRule ^/(.*) https://www.google.com/$1 [R,L]
</VirtualHost>
我已验证配置正确
sudo /opt/bitnami/ctlscript.sh restart apache
如您所见,使用自定义VirtualHost的请求已重定向到www.google.com。
为了调试您的问题,我将按照以下步骤操作:
- 检查使用端口3001的服务器是否正常运行
bitnami@ip-172-31-57-221:/opt/bitnami$ curl -LI 35.168.7.34
HTTP/1.1 200 200
Date: Thu,20 Aug 2020 08:02:44 GMT
Server: Apache
X-Frame-Options: SAMEORIGIN
Accept-Ranges: bytes
ETag: W/"3660-1499251067000"
Last-Modified: Wed,05 Jul 2017 10:37:47 GMT
Content-Type: text/html
Content-Length: 3660
bitnami@ip-172-31-57-221:/opt/bitnami$ curl -LI 35.168.7.34.nip.io
HTTP/1.1 302 Found
Date: Thu,20 Aug 2020 08:02:47 GMT
Server: Apache
X-Frame-Options: SAMEORIGIN
Location: https://www.google.com/
Content-Type: text/html; charset=iso-8859-1
HTTP/1.1 200 OK
Content-Type: text/html; charset=ISO-8859-1
P3P: CP="This is not a P3P policy! See g.co/p3phelp for more info."
Date: Thu,20 Aug 2020 08:02:47 GMT
Server: gws
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN
Transfer-Encoding: chunked
Expires: Thu,20 Aug 2020 08:02:47 GMT
Cache-Control: private
Set-Cookie: 1P_JAR=2020-08-20-08; expires=Sat,19-Sep-2020 08:02:47 GMT; path=/; domain=.google.com; Secure
Set-Cookie: NID=204=qoK5Dqh-YCXNgqKmQQVLwHmxmLc7Pa7xoWcPc5iNnb_AqNTdDffYK7dpjoLFalVKEaS-vsKRcNUeJlLkO3GN-jNI4BUGzT0V2--66luMecjNoUWXcriPM8UhX2KtEqFd3Qw2Iu9NE10qeAnvhbDHw34sLDnheaYokmEeUALrSpg; expires=Fri,19-Feb-2021 08:02:47 GMT; path=/; domain=.google.com; HttpOnly
Alt-Svc: h3-29=":443"; ma=2592000,h3-27=":443"; ma=2592000,h3-T050=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
-
确保对
curl -LI localhost:3001
的请求正在使用您的自定义虚拟主机。您将需要确保在sub.mycompany.com
文件中未将sub.mycompany.com设置为默认域,并且也没有在/opt/bitnami/apache2/conf/httpd.conf
文件中包含该域。您可以尝试使用我上面发布的代码来测试虚拟主机。 -
请记住在对配置进行任何更改后重新启动Apache
我希望这些信息对您有帮助
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。