gpt4 book ai didi

redirect - Apache2 vHost conf - 重定向到不同的服务器

转载 作者:行者123 更新时间:2023-12-02 03:39:02 24 4
gpt4 key购买 nike

情况

服务器 1:Apache2 从端口 80 为常规网站提供服务

服务器 2:运行从端口 8080(应用程序默认)提供服务的专用 JAVA 网站应用程序

使用场外 DNS 服务将对我的域名的所有端口 80 请求定向到我的外部 IP。服务器 1 使用多个 vHost 配置文件定向到 Apache2 html 文件夹,以便用户看到正确的网站。

问题

通过服务器 1 Apache2 vHost 配置文件将 1 个域名定向到服务器 2,而不使用内部 DNS 服务器。

示例

默认网站的服务器 1 vHost 配置文件:

<VirtualHost *:80>
ServerName www.mdom.com
ServerAlias www.mdom.com

DocumentRoot /var/www/html/public_html

<Directory /var/www/html/public_html>
Options -Indexes
AllowOverride All
<IfModule mod_auth_core.c>
Require all granted
</IfModule>
</Directory>

CustomLog /var/log/apache2/www.mdom.com-access.log "Combined"
ErrorLog /var/log/apache2/www.mdom.com-error.log
</VirtualHost>

用于定向到服务器 2 应用程序的服务器 1 vHost 配置文件:

<VirtualHost *:80>
ServerName app.mdom.com
ServerAlias app.mdom.com

DocumentRoot //server2:8080

<Directory //server2:8080>
Options -Indexes
AllowOverride All
<IfModule mod_auth_core.c>
Require all granted
</IfModule>
</Directory>

CustomLog /var/log/apache2/app.mdom.com-access.log "Combined"
ErrorLog /var/log/apache2/app.mdom.com-error.log
</VirtualHost>

注意第二个文件中的//server2

但不知怎的,这并没有真正起作用。它显示“禁止”,“您无权访问此服务器上的/”。

请记住,服务器 2 上没有安装 apache2,只要我在 url 中使用端口 8080,JAVA 网站就可以在使用内部 IP 或外部域名通过端口 8080 调用服务器 2 时运行。

问题

是否可以指示服务器 1 的 apache2 将 app.mdom.com 重定向到服务器 2 端口 8080?

TL:DR?我正在努力提供尽可能全面的信息

最佳答案

我通读了该应用程序的文档,在几页代码之间隐藏着一小段内容,介绍如何使用 Apache2 设置代理以将该子域的请求路由到服务器 2。

示例

将其放入 Apache2 vHost 配置文件中:

<VirtualHost *:80>
ServerName app.mdom.com
ProxyPass /app http://server2:8080/app
ProxyPassReverse /app http://server2:8080/app
</VirtualHost>

...并激活主机:

a2ensite app.mdom.com.conf

...然后重新配置 Apache2 来处理代理:

a2enmod proxy
a2enmod proxy_http

经过测试并有效。

关于redirect - Apache2 vHost conf - 重定向到不同的服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49264026/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com