Apache RewriteEngine 影响 Tomcat 访问

Apache RewriteEngine 影响 Tomcat 访问

问题是,

我已经将 htaccess 配置为将所有 http 访问重写为 https,这样就没问题了。但我需要对 Tomcat 的 8080 端口进行例外处理。

我的.htaccess:

RewriteEngine On

# Redirect all HTTP traffic to HTTPS.
RewriteCond %{HTTPS} !=on
RewriteCond "%{SERVER_PORT}" "!^8080$"
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [L,NC,R]

# Send / to /roundcube.
RewriteRule ^/?$ /roundcube [L]

目前,访问 http mydomain.com:8080 时会被重定向到 https mydomain.com:8080(导致 SSL 出现问题)。如果您通过正常访问 http mydomain.com:8080 使用端口 8080,则只需忽略它。

答案1

我通过在 /etc/apache2/sites-enabled/000-default.conf 上为 tomcat 添加新的子域和新的配置解决了这个问题

<VirtualHost *:80>
        ServerName tomcat.mydomain.com

        ServerAdmin [email protected]
        LogLevel warn
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

RewriteEngine on
RewriteCond %{SERVER_NAME} =tomcat.mydomain.com
RewriteRule ^ http://%{SERVER_NAME}:8080%{REQUEST_URI}
</VirtualHost>

对于我来说,一个专用于 tomcat 的新子域名就更好了。

相关内容