Поэтому я пытаюсь выяснить, могу ли я установить заголовки ответов, настроив их в Apache.
Я использую тестирование Debian, если это имеет значение.
Мой веб-сервер работает, и я использую его для нескольких веб-сайтов, которые разрабатываю. Так что теперь все, что я хочу сделать, это установить заголовок, чтобы увидеть, работает ли он.
Это то, что я изменил в своем apache.conf
<Directory /home/web>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
Header set myHeader "Hello Header World"
</Directory>
Вот как выглядит файл конфигурации моего хоста в /etc/apache2/sites-available/000-default.conf:
<Виртуальный хост *:80>
# Директива ServerName устанавливает схему запроса, имя хоста и порт, которые
# сервер использует для идентификации себя. Это используется при создании
# URL-адреса перенаправления. В контексте виртуальных хостов ServerName
# указывает, какое имя хоста должно отображаться в заголовке Host: запроса, чтобы
# соответствует этому виртуальному хосту. Для виртуального хоста по умолчанию (этот файл) это
# значение не имеет решающего значения, так как оно все равно используется в качестве хоста последней инстанции.
# Тем не менее, вы должны явно установить его для любого последующего виртуального хоста.
#ServerName www.example.com
Веб-мастер администратора сервера@localhost
DocumentRoot /home/web
Сопоставление псевдонимов ^/vmapi/(.*)$ /home/web/vmapi/api_receiver.php
AliasMatch ^/inherentvalue/api/(.*)$ /home/web/inherentvalue/api/api.php
# Доступные уровни логов: trace8, ..., trace1, debug, info, note, warn,
# ошибка, крит, оповещение, эмердж.
# Также можно настроить уровень логирования для конкретного
# модули, например.
# Информация об уровне журнала ssl: предупреждение
Журнал ошибок ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log вместе
В заголовке указано местоположение "хуансито"
Набор заголовков Местоположение "pedrito"
Заголовок установил MyHeader «Привет, Джо. Apache потребовалось %D микросекунд, чтобы обработать этот запрос».
# Для большинства конфигурационных файлов из conf-available/, которые
# включено или отключено на глобальном уровне, можно
# включить строку только для одного конкретного виртуального хоста. Например
# следующая строка включает конфигурацию CGI только для этого хоста
# после глобального отключения с помощью "a2disconf".
# Включить conf-available/serve-cgi-bin.conf
</ виртуальный хост>
# vim: синтаксис=apache ts=4 sw=4 sts=4 sr noet
Псевдоним для другого проекта, над которым я работаю.
Также вывод apache2ctl -M выглядит так:
Загруженные модули:
core_module (статический)
so_module (статический)
watchdog_module (статический)
http_module (статический)
log_config_module (статический)
logio_module (статический)
version_module (статический)
unixd_module (статический)
access_compat_module (общий)
alias_module (общий)
auth_basic_module (общий)
authn_core_module (общий)
authn_file_module (общий)
authz_core_module (общий)
authz_host_module (общий)
authz_user_module (общий)
autoindex_module (общий)
deflate_module (общий)
dir_module (общий)
env_module (общий)
filter_module (общий)
headers_module (общий) <-- Включен.
mime_module (общий)
mpm_prefork_module (общий)
модуль переговоров (общий)
php_module (общий)
reqtimeout_module (общий)
rewrite_module (общий)
setenvif_module (общий)
status_module (общий)
Итак, я пробую следующую команду:
curl -i -s -k -v -X ПОЛУЧИТЬ "http://localhost/vmportal/css"
И результат таков:
HTTP/1.1 301 перемещен навсегда
Дата: ср, 24 ноября 2021 г., 06:32:01 по Гринвичу
Сервер: Apache/2.4.48 (Debian)
Расположение: http://localhost/vmportal/css/
Длина содержимого: 313
Тип содержимого: текст/html; кодировка = iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><заголовок>
<title>301 перемещен навсегда</title>
</голова><тело>
<h1>Перемещено навсегда</h1>
<p>Документ перемещен <a href="http://localhost/vmportal/css/">сюда</a>.</p>
<час>
<address>Сервер Apache/2.4.48 (Debian) на локальном хосте, порт 80</address>
</тело></html>
Разве я не должен видеть ЛЮБОЙ из заголовков, которые я установил в ответе?
Может ли кто-нибудь сказать мне, что я могу делать неправильно? Или в чем может быть проблема? Или хотя бы как его отлаживать? (В журналах ошибок или журналах доступа ничего нет, если вам интересно).