情况
服务器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>
服务器1 vHost配置文件,用于指向服务器2应用程序:
<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,只要我在网址中使用端口8080,JAVA网站就可以使用内部IP或外部域名通过端口8080呼叫服务器2。
问题
是否可以指示服务器1的apache2将app.mdom.com
重定向到服务器2端口8080?
TL:DR? 我正在努力提供尽可能多的信息
答案 0 :(得分:3)
我已经阅读了应用程序的文档以及隐藏在几页代码之间的某处,有一小段如何使用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
经过测试和工作。