使用 apache 将 ip 和端口重定向到子域

使用 apache 将 ip 和端口重定向到子域

我正在尝试配置我的 apache 服务器,以便我的子域名具有与主域名相同的行为

对于我的主域名,当我输入 IP 地址时,它会转到 example.com 并显示正确的页面,但对于我的子域名(例如:subdomain.example.com),它不会,因为在这种情况下我得到了一个不同的端口(例如:9000 指向 docker 容器)

但是当我输入 ip:9000 时,它会显示正确的页面,当我输入子域名时也会显示相同的内容。

我怎样才能告诉服务器显示子域名而不是 ip:port

这是我的主要域配置:

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    RewriteEngine on
    RewriteCond %{SERVER_NAME} =example.com [OR]
    RewriteCond %{SERVER_NAME} =www.example.com
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
    Redirect / https://example.com
</VirtualHost>

这是我的子域名配置:

<VirtualHost *:80>
   ServerAdmin [email protected]
   ServerName example.com
   ServerAlias subdomain.example.com
   ProxyPreserveHost On
   ProxyRequests Off
   ProxyPass / http://111.111.111.111:9000/
   ProxyPassReverse / http://111.111.111.111:9000/
   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined
   RewriteEngine on
   Redirect / http://subdomain.example.com
   RewriteCond %{SERVER_NAME} =subdomain.example.com
   RewriteRule ^ http://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

相关内容