Как зарегистрировать схему URL (http / https) в Apache?

это зависит от драйвера. Необходимо смочь установить настройки по умолчанию на сервере печати путем установки сервера печати. В theis случае драйвер HP имеет настройки по умолчанию, которые будут соответствовать настройкам на общем принтере. Вход в систему на сервере печати, измените настройки. Так как эта установка является также сверхъездовой пользователем, это, может не измениться на стороне клиента. Если это не делает Вы можете также

  1. Удалите общий принтер и повторно совместно используйте его с новым именем, это вынудит клиенты использовать новые настройки

  2. измените его на пользователях, которые имеют проблему, но утешаются от того, что новые пользователи получат новые настройки

8
задан 13 February 2012 в 09:59
5 ответов

Один из способов сделать это - иметь две условные директивы CustomLog , управляемые тем, установлена ​​ли переменная HTTPS .

CustomLog logs/access.log "https://..." env=HTTPS
CustomLog logs/access.log "http://..." env=!HTTPS

У меня также есть попытался использовать SetEnvIf следующим образом, но он не работает (регистрируется - ):

SetEnv URL_SCHEME=http
SetEnvIf HTTPS on URL_SCHEME=https
CustomLog logs/access.log "%{URL_SCHEME}e://..."
3
ответ дан 2 December 2019 в 23:00

Определите вывод журнала и добавьте к нему% H. То же самое и с Apache.

Итак, вы создаете LogFormat , как это, и, черт возьми, есть пара, определенная в конфигурации apache по умолчанию.

LogFormat "%h %l %u %t \"%r\" %>s %b" common

, и добавляете имя LogFormat (в данном случае «общий») к конец вызова файла журнала

CustomLog logs/access_log common

Просто посмотрите здесь дополнительную информацию о журнале и здесь о строках различного формата.

-2
ответ дан 2 December 2019 в 23:00

По какой-то причине мне не удалось заставить приведенные выше примеры работать, поэтому я нашел другой способ: вы можете добавить 2 правила перезаписи в свою конфигурацию следующим образом:

RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ - [E=SCHEME:HTTP]

RewriteCond %{HTTPS} =on
RewriteRule ^(.*)$ - [E=SCHEME:HTTPS]

Затем добавьте это в свое определение LogFormat.

scheme=\"%{SCHEME}e\"
3
ответ дан 2 December 2019 в 23:00

Քանի որ url սխեման ուղղակիորեն հասանելի չէ apache գրանցամատյանում, դուք կարող եք մուտք գործել հարցումը սպասարկող սերվերի կանոնական պորտը (օր. ՝ 80/443) ՝ օգտագործելով% p որպես այլընտրանք.

CustomLog access.log "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" port:%p"
3
ответ дан 2 December 2019 в 23:00

Это работает для меня с Apache 2.4.23:

LogFormat "%{REQUEST_SCHEME}x ..." my_log_format

%{varname}x доступно только при загрузке mod_ssl, смотрите: https://httpd.apache.org/docs/trunk/mod/mod_ssl.html#logformats

2
ответ дан 2 December 2019 в 23:00

Теги

Похожие вопросы