У меня есть сервер, на котором я пытаюсь отключить поведение пользователя. Я принудительно отключил модуль mod_userdir, переименовав .so из каталога модулей. Я подтвердил, что он не загружается, оставив директиву «UserDir» в одном из confs и увидев, что перезагрузка не выполняется.
Кроме того, я проверил загруженные модули и убедился, что модуля нет в списке:
apachectl -M
Loaded Modules:
core_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
auth_basic_module (shared)
auth_digest_module (shared)
authn_file_module (shared)
authn_alias_module (shared)
authn_anon_module (shared)
authn_dbm_module (shared)
authn_default_module (shared)
authz_host_module (shared)
authz_user_module (shared)
authz_owner_module (shared)
authz_groupfile_module (shared)
authz_dbm_module (shared)
authz_default_module (shared)
ldap_module (shared)
authnz_ldap_module (shared)
include_module (shared)
log_config_module (shared)
logio_module (shared)
env_module (shared)
ext_filter_module (shared)
mime_magic_module (shared)
expires_module (shared)
deflate_module (shared)
headers_module (shared)
usertrack_module (shared)
setenvif_module (shared)
mime_module (shared)
dav_module (shared)
status_module (shared)
autoindex_module (shared)
info_module (shared)
dav_fs_module (shared)
vhost_alias_module (shared)
negotiation_module (shared)
dir_module (shared)
actions_module (shared)
speling_module (shared)
alias_module (shared)
substitute_module (shared)
rewrite_module (shared)
proxy_module (shared)
proxy_balancer_module (shared)
proxy_ftp_module (shared)
proxy_http_module (shared)
proxy_ajp_module (shared)
proxy_connect_module (shared)
cache_module (shared)
suexec_module (shared)
disk_cache_module (shared)
cgi_module (shared)
version_module (shared)
passenger_module (shared)
ssl_module (shared)
Syntax OK
Но если я запрашиваю у сервера свой тестовый файл (~ nobody / test), я все равно получаю результат.
Есть ли другой модуль, обеспечивающий эту функцию? Как мне его выключить?
Вот ссылка на файл httpd.conf (с добавлением conf.d / *): https://www.dropbox.com/s/73htej25ffs9a20/httpd.conf_merged?dl=0
ОБНОВИТЬ:
Я сузил причину до конкретного файла conf.d:
NameVirtualHost 987.654.32.1:8080
LoadModule passenger_module /app/rvm/gems/ruby-1.9.2-p290@bzd/gems/passenger-3.0.19/ext/apache2/mod_passenger.so
PassengerRoot /app/rvm/gems/ruby-1.9.2-p290@bzd/gems/passenger-3.0.19
PassengerRuby /app/rvm/wrappers/ruby-1.9.2-p290@bzd/ruby
<VirtualHost 987.654.32.1:8080>
LogFormat "%{XFF_IP}e %{Host}i %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"[XFF=%{X-Forwarded-For}i]\" %D" cgm_fmt
ServerName dashboard.foobar.com
ServerAlias dashboard-alias.foobar.com
DocumentRoot /app/dashboard/prod/current/public
PassengerAppRoot /app/dashboard/prod/current
RackBaseURI /
RailsEnv 'production'
PassengerLogLevel 3
CustomLog "/var/log/httpd/dashboard_access-log" cgm_fmt
ErrorLog "/var/log/httpd/dashboard_error-log"
<Directory /app/dashboard/prod/current>
Options FollowSymLinks
AllowOverride all
Order deny,allow
Allow from all
Options -MultiViews
PassengerEnabled On
</Directory>
RewriteEngine on
RewriteRule (.*) $1 [E=REDIRECT:TRUE]
# always allow healthchecks
RewriteCond %{REQUEST_URI} ^/healthcheck$
RewriteRule (.*) $1 [E=REDIRECT:FALSE]
RewriteCond %{HTTP_HOST} ^dashboard.foobar.com$
RewriteRule (.*) $1 [E=REDIRECT:FALSE]
RewriteCond %{HTTP_HOST} ^dashboard-alias.foobar.com$
RewriteRule (.*) $1 [E=REDIRECT:FALSE]
RewriteCond %{ENV:REDIRECT} TRUE
RewriteRule ^/(.*) http://dashboard-alias.foobar.com/$1 [NC,R,L]
</VirtualHost>
Оказывается, это произошло из-за неправильных правил перезаписи:
RewriteRule (.*) $1
Я изменил их на:
RewriteRule - -
Спасибо всем за толчки в правильном направлении