mirror of
https://github.com/certbot/certbot.git
synced 2026-01-23 07:20:55 +03:00
add check for apache 2.3.9, warn of possible conflicting rewrite rules
This commit is contained in:
@@ -884,8 +884,19 @@ class ApacheConfigurator(augeas_configurator.AugeasConfigurator):
|
||||
# Note: These are not immediately searchable in sites-enabled
|
||||
# even with save() and load()
|
||||
self.parser.add_dir(general_vh.path, "RewriteEngine", "on")
|
||||
self.parser.add_dir(general_vh.path, "RewriteRule",
|
||||
|
||||
if self.get_version >= (2.3.9):
|
||||
self.parser.add_dir(general_vh.path, "RewriteRule",
|
||||
constants.REWRITE_HTTPS_ARGS_WITH_END)
|
||||
else:
|
||||
self.parser.add_dir(general_vh.path, "RewriteRule",
|
||||
constants.REWRITE_HTTPS_ARGS)
|
||||
|
||||
if _is_rewrite_exists(vhost):
|
||||
logger.warn("Preexisting rewrite rules were detected. "
|
||||
"Please verify that the newly installed "
|
||||
"redirection rewrite rule doesn't break anything.")
|
||||
|
||||
self.save_notes += ("Redirecting host in %s to ssl vhost in %s\n" %
|
||||
(general_vh.filep, ssl_vhost.filep))
|
||||
self.save()
|
||||
@@ -915,9 +926,8 @@ class ApacheConfigurator(augeas_configurator.AugeasConfigurator):
|
||||
raise errors.PluginEnhancementAlreadyPresent(
|
||||
"Let's Encrypt has already enabled redirection")
|
||||
|
||||
|
||||
def _is_rewrite_exists(self, host):
|
||||
"""Checks if there exists a rewriterule directive
|
||||
def _is_rewrite_exists(self, vhost):
|
||||
"""Checks if there exists a rewriterule directive in vhost
|
||||
|
||||
:param vhost: vhost to check
|
||||
:type vhost: :class:`~letsencrypt_apache.obj.VirtualHost`
|
||||
|
||||
@@ -29,7 +29,7 @@ REWRITE_HTTPS_ARGS = [
|
||||
"""Apache version<2.3.9 rewrite rule arguments used for redirections to https vhost"""
|
||||
|
||||
REWRITE_HTTPS_ARGS_WITH_END = [
|
||||
"^", "https://%{SERVER_NAME}%{REQUEST_URI}", "[L,QSA,R=permanent]"]
|
||||
"^", "https://%{SERVER_NAME}%{REQUEST_URI}", "[END,QSA,R=permanent]"]
|
||||
"""Apache version >= 2.3.9 rewrite rule arguments used for redirections to
|
||||
https vhost"""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user