Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: .htaccess не передает гет параметры в rewrite. Apache 2.2.22

Всем доброго времени суток!

Столкнулся с проблемой, что одно правило не работает в .htaccess. Не могу найти причину.

Имеются следующие правила rewrate:

Ответ: Спасибо! Починилось!!! =)


Вам также можеть быть интересно:

DnsBL
Анализ трафика без прокси
Amavis-new бан письма с wmf
roundcube
Mint & Intelij Ideja
Вопрос: Не могу назначить индексный файл index.php

В корневой папке сайта лежит файл index.php который генерирует главную страничку.
Если я захожу по адресу: www.site.ru/index.php - все ок.

Задача состоит в том, чтобы при заходе на главную страницу сайта www.site.ru (в адресе только домен, без index.php) появлялась страница сгенерированая файлом index.php.
Так же перед этим нужно проверить не лежит ли рядом файл index.html и если лежит, то отдать его.

Если в корень положить index.html - то www.site.ru отдает статичный файл index.html как надо.

В общем проблема только в index.php

Вот мой файл конфигурации:
server {
	listen 80;
	server_name site.ru www.site.ru;
	index index.html index.php;

	location / {
		index index.html index.php;
		root /home/site.ru/www;
		try_files $uri /index.html @rewrite;
	}

	location @rewrite {
		index index.html index.php;
		rewrite ^/(.*).html$ /article.php?link=$1;
		rewrite ^/print/([a-zA-Z0-9_-]+).html$ /article.php?link=$1&print=true;
	}

	location ~ \.php$ {
		index index.html index.php;
		root /home/site.ru/www;
		fastcgi_pass 127.0.0.1:9000;
		fastcgi_index index.php;
		fastcgi_param SCRIPT_FILENAME /home/site.ru/www$fastcgi_script_name;
		include /etc/nginx/fastcgi_params;
	}
}

Пожалуйста, подскажите что я делаю не так ?
Спасибо !
Ответ:
Dimitry Sibiryakov
Степан Речной
почему нет ?

Потому что ты ей сказал переписать url как www.site.ru/article.php?title=index


Неужели у этой элементарной задачи нет решения? Мне совершенно ничего не приходит в голову. try_files я убрать не могу, это основа - отдаем статику, если ее нет то передаем на обработку php. Я уверен что многие сайты функционируют по такому принципу, если возможно подскажите как реализовать по другому ?

Еще раз. Все чего я хочу добиться это:
Сначала статика, если ее нет - динамика. Это касается и индексных файлов.

Спасибо!
Вопрос: Определение мобильных браузеров для статического сайта

Здравствуйте!

Есть небольшой сайт, только статические страницы html.

Сайт в двух вариантах - десктопная www.example.ru и мобильная m.example.ru.

Задача - автоматическое определение браузера при заходе на сайт и отдача нужной версии.

Поскольку сайт статический, я так понимаю что единственная возможность это реализовать - серверный редирект.

Прописываю код который нашел на хабре:

server {
listen 80;
server_name example.ru www.example.ru;
if ( $http_user_agent ~* (windows\smobile|windows\sce|iphone|ipod|midp|symbian|series\s60|s60|nokia|аndroid|blackberry) ){
rewrite ^/(.*) m.example.ru/$1 permanent;
}

location / {
root /home/example.ru/www;
index index.html index.php;
}
}

но он не работает, на мобильном телефоне открывается обычная версия.

Подскажите что не так ?
Ответ:
Степан Речной
Поскольку сайт статический, я так понимаю что единственная возможность это реализовать - серверный редирект.
Вообще-то нет. Даже на статическом сайте никто не запрещает использовать Javascript.

Но правильнее, имхо, как раз серверный редирект.
Куда именно вы прописываете показанный код? И как именно сделан домен m.example.ru?
Вопрос: Как установить SAMS2 и Squid на Ubuntu 12.04 LTS

делаю по инструкции.

Устанавливаем все необходимые для нас пакеты: sudo apt-get install build-essential squid3 nginx php5-fpm libpcre3-dev libpcre3 libpcre++-dev libpcre++0 libpcrecpp0 mysql-server libmysqlclient-dev php5-ldap libfpdf-tpl-php libfpdi-php autoconf automake libtool doxygen subversion libldap2-dev php5-gd php5-mysql krb5-user libkrb5-3 ldap-utils samba winbind samba-common-bin
Получаем исходники SAMS2: svn checkout sams2-read-only
Собираем скрипт конфигурации: make -f Makefile.cvs
./configure
По окончании работы скрипта вы должны увидеть следующее сообщение:Use MySQL API: yes
Use PostgreSQL API: no
Use unixODBC API: no
Use LDAP API: yes
Using pcre: pcre
Use dynamic plugin: yes
Файл libtool, который генерирует скрипт, нуждается в патче. Набираем «patch -l» и вставляем следующий текст. В конце нужно два раза нажать Ctrl-D, чтобы он понял, что это конец файла.

--- libtool.old 2012-02-14 17:34:10.363994833 +0400
+++ libtool 2012-02-14 15:55:27.142358890 +0400
@@ -5986,7 +5986,8 @@
case $dir in
[\\/]* | [A-Za-z]:[\\/]*) ;;
*)
- absdir=`cd "$dir" && pwd`
+# absdir=`cd "$dir" && pwd`
+ absdir="/usr/lib"
test -z "$absdir" && \
func_fatal_error "cannot determine absolute directory name of \`$dir'"
dir="$absdir"
Если у вас 64-битная система, то файл src/proxy.h нуждается в исправлении, иначе sams2daemon будет падать с ошибкой сегментирования после «mysqlquery.cpp:437 [0x1c1f910->fetch] ok». Для этого открываем src/proxy.h и дописываем ко всем enum тип long следующим образом:

enum ParserType: long
{
...
};
(спасибо за этот метод решения проблемы с 64 битами Владимиру)

Собираем SAMS2: make
Устанавлиаваем: sudo make install
Меняем владельца директории sams2 на www-data: sudo chown www-data:www-data -R /usr/local/share/sams2/
Конфигурируем nginx следующим образом:

server {
listen 80;

location / {
root /usr/local/share/sams2;
index index.php;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?q=$1 last;
break;
}
}

error_page 404 /index.php;

location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /usr/local/share/sams2/$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
}

}
Заходим на там всё делаем по инструкции

- тут начинается самое интересное!

захожу адрес/ — Welcome to nginx!
захожу адрес/setup.php — 404 Not Found nginx/1.4.6 (Ubuntu)

подскажите куда смотреть?

из локалки
захожу — и
захожу — выходит

ERROR
The requested URL could not be retieved

типо этого
Ответ: отбой
Вопрос: Скрипт для QNX. Поиск файлов по времени

Здравствуйте, мне необходимо составить скрипт, который будет находить не более 100-а файлов, созданных ранее введённой пользователем даты в формате dd:mm:yy.

Я создал этот скрипт, но интерпретатор пишет, что не может открыть: нет такого файла или директории.
Собственно скрипт:

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
oldIFS="$IFS"
 
IFS=":"
alrt()
{
x=$1
#x=$(expr $x+1)
if $(expr 100 < $x) // <---- Error
then
echo "Found more 100 files!!!"
rm $buf;
exit 1
fi
}
#Data write
echo -n "Input date in format: dd:mm:yyyy "
read d m y
if test -z $d || test -z $m || test -z $y
then
echo "Failed date!!! Exite!!!"
exit 1
fi
 
IFS="oldifs"
 
#Find
 
buf="buf"
touch buf
touch -t "${y}${m}${d}0000" "$buf"
a=$(find . -type f -newer "$buf" -exec ls '{}' ';')
 
alrt $n
 
if test -z "$a"
then
n=0
fi
if test -z "$1"
then
fn="FIND.TXT"
else
fn=$1
fi
 
if test -f "$fn"
then
echo -n "$fn exist. Rewrite? (y/n): "
read yn
fi
case $yn in
'y' | 'Y' ) echo "$a" > "$fn";;
'n' | 'N' ) echo "$a" >> "$fn";;
* ) echo "$a" >> "$fn";;
esac
echo "$n founded files"
echo "-----------------------------------------" >> "$fn"
echo "$n founded files" >> "$fn"
rm "$buf"
exit 0
Прошу помочь разобраться с этим..Что не так?
Ответ: Но когда я немного изменил опции(добавил: !) :
Bash
1
find . -type f ! -newer "$buf" -exec ls '{}' ';'
Начал выводить ВСЕ файлы. Совершенно без разбора по дате..
Вопрос: Установка php 5.2.12 на FreeBSD 10, отсутствует libphp5.so

Добрый день.
Помогите пожалуйста разобраться с проблемой.
Мне необходимо установить PHP 5.2 на FreeBSD 10. Во время установки у меня выдает следующую ошибку:

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[trex@H417 ~/Install/php-5.2.12]$ sudo make install
Installing PHP SAPI module:       apache2handler
/usr/local/apache2/build/instdso.sh SH_LIBTOOL='/usr/local/share/apr/build-1/libtool' libphp5.la /usr/local/apache2/modules
/usr/local/share/apr/build-1/libtool --mode=install cp libphp5.la /usr/local/apache2/modules/
libtool: install: cp .libs/libphp5.lai /usr/local/apache2/modules/libphp5.la
libtool: install: cp .libs/libphp5.a /usr/local/apache2/modules/libphp5.a
libtool: install: chmod 644 /usr/local/apache2/modules/libphp5.a
libtool: install: ranlib /usr/local/apache2/modules/libphp5.a
libtool: install: warning: remember to run `libtool --finish /home/trex/Install/php-5.2.12/libs'
Warning!  dlname not found in /usr/local/apache2/modules/libphp5.la.
Assuming installing a .so rather than a libtool archive.
chmod 755 /usr/local/apache2/modules/libphp5.so
chmod: /usr/local/apache2/modules/libphp5.so: No such file or directory
apxs:Error: Command failed with rc=65536
.
*** Error code 1
Я сконфигурировал PHP следующим образом:
Code
1
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql --prefix=/usr/local/apache2/php --with-config-file-path=/usr/local/apache2/php --enable-force-cgi-redirect --disable-cgi
Apache 2.2.31 успешно установлен и работает. И его я сконфигурировал так:
Code
1
./configure --prefix=/usr/local/apache2 --enable-cgi --enable-ssl --enable-so --enable-rewrite --enable-mime-magic --enable-suexec --enable-static-rotatelogs --enable-speling
У меня отсутствует libphp5.so после компиляции PHP. Поиск по всей системе не дал положительного результата:
Code
1
sudo find / -name "libphp5.so"
Внизу вы можете видеть дерево файлов Apache. Там есть PHP поскольку я его один раз установил без опции
--with-apxs2=/usr/local/apache2/bin/apxs. И потому он не функционаировал с Apache.

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
/usr/local/apache2/
|-- bin
|   |-- ab
|   |-- apachectl
|   |-- apxs
|   |-- checkgid
|   |-- dbmmanage
|   |-- envvars
|   |-- envvars-std
|   |-- htcacheclean
|   |-- htdbm
|   |-- htdigest
|   |-- htpasswd
|   |-- httpd
|   |-- httxt2dbm
|   |-- logresolve
|   |-- rotatelogs
|   `-- suexec
|-- build
|   |-- config.nice
|   |-- config_vars.mk
|   |-- instdso.sh
|   |-- library.mk
|   |-- ltlib.mk
|   |-- mkdir.sh
|   |-- program.mk
|   |-- rules.mk
|   `-- special.mk
|-- cgi-bin
|   |-- printenv
|   `-- test-cgi
|-- conf
|   |-- extra
|   |   |-- httpd-autoindex.conf
|   |   |-- httpd-dav.conf
|   |   |-- httpd-default.conf
|   |   |-- httpd-info.conf
|   |   |-- httpd-languages.conf  
|   |   |-- httpd-manual.conf
|   |   |-- httpd-mpm.conf
|   |   |-- httpd-multilang-errordoc.conf
|   |   |-- httpd-ssl.conf
|   |   |-- httpd-userdir.conf
|   |   `-- httpd-vhosts.conf
|   |-- httpd.conf
|   |-- magic
|   |-- mime.types
|   `-- original
|       |-- extra
|       `-- httpd.conf
|-- error
...
|-- htdocs
|   |-- index.html
|   `-- phpinfo.php
|-- icons
...
|-- include
|   |-- ap_compat.h
|   |-- ap_config.h
|   |-- ap_config_auto.h
|   |-- ap_config_layout.h
|   |-- ap_listen.h
|   |-- ap_mmn.h
|   |-- ap_mpm.h
|   |-- ap_provider.h
|   |-- ap_regex.h
|   |-- ap_regkey.h
|   |-- ap_release.h
|   |-- http_config.h
|   |-- http_connection.h
|   |-- http_core.h
|   |-- http_log.h
|   |-- http_main.h
|   |-- http_protocol.h
|   |-- http_request.h
|   |-- http_vhost.h
|   |-- httpd.h
|   |-- mod_auth.h
|   |-- mod_cgi.h
|   |-- mod_core.h
|   |-- mod_dav.h
|   |-- mod_dbd.h
|   |-- mod_include.h
|   |-- mod_log_config.h
|   |-- mod_proxy.h
|   |-- mod_rewrite.h
|   |-- mod_ssl.h
|   |-- mod_status.h
|   |-- mpm.h
|   |-- mpm_common.h
|   |-- mpm_default.h
|   |-- os.h
|   |-- scoreboard.h
|   |-- unixd.h
|   |-- util_cfgtree.h
|   |-- util_charset.h
|   |-- util_ebcdic.h
|   |-- util_filter.h
|   |-- util_ldap.h
|   |-- util_md5.h
|   |-- util_script.h
|   |-- util_time.h
|   `-- util_xml.h
|-- logs
...
|-- man
...
|-- manual
|-- modules
|   |-- httpd.exp
|   |-- libphp5.a
|   `-- libphp5.la
`-- php
    |-- bin
    |   |-- pear
    |   |-- peardev
    |   |-- pecl
    |   |-- php
    |   |-- php-config
    |   `-- phpize
    |-- etc
    |   `-- pear.conf
    |-- include
    |   `-- php
    |-- lib
    |   `-- php
    `-- man
        `-- man1
Ответ: Если честно, то не совсем понятно что хотите получить результатом.
Жесткая привязка к версиям? Джедайский путь установки софта? Мануал для извращенцев?

Зачастую не стоит усложнять жизнь ненужными телодвижениями. man pkg в помощь )))

Вопрос: Nginx перенаправляет на http://site.ru/test.ru или http://test.ru/test.ru

Только, что поставил nginx + php-fpm по этой статье -
При попытке зайти на сайт 192.168.0.101/test.ru/index.php или 192.168.0.101/test.ru постоянно перенаправляет на или

Вот настройки /etc/nginx/conf.d/site.conf

Кликните здесь для просмотра всего текста
index index.php;
server {
server_name
rewrite ^ $scheme://test.ru$request_uri? permanent;
}
server {
server_name site.ru;
access_log /var/www/test.ru/log/access.log;
error_log /var/www/test.ru/log/error.log;
root /var/www/test.ru;

location / {
try_files $uri $uri/ /index.php?$request_uri;
index index.php;
}

location ^~ /protected/ {
deny all;
}

location ~ \.php$ {
try_files $uri = 404;
include fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
}
Ответ: уже сам разобрался, можно удалить!!!
Вопрос: FreeBSD и squid

Форумчане приветствую, помогите плз. Хочу проксировать HTTPS через Cisco+FreeBSD+Squid, собственно оно работает, но очень криво, прочитал на многих форумах, что именно версия 3.5.8 работает с HTTPS без нареканий... Но проблема в том, что я не в курсе как поставить именно версию 3.5.8 так как в портах идет версия 3.5.13. Что было сделано, скачал версию squid именно 3.5.8, скомпилировал ее со следующими параметрами:
Код
./configure --bindir=/usr/local/sbin --sbindir=/usr/local/sbin --datadir=/usr/local/etc/squid --libexecdir=/usr/local/libexec/squid --localstatedir=/var --sysconfdir=/usr/local/etc/squid --with-logdir=/var/log/squid --with-pidfile=/var/run/squid/squid.pid --with-swapdir=/var/squid/cache/squid --enable-auth --enable-build-info --enable-loadable-modules --enable-removal-policies=lru --disable-epoll --disable-linux-netfilter --disable-linux-tproxy --disable-translation --disable-eui --disable-cache-digests --disable-delay-pools --disable-ecap --disable-esi --disable-follow-x-forwarded-for --enable-htcp --disable-icap-client --disable-icmp --enable-ident-lookups --enable-ipv6 --enable-kqueue --with-large-files --with-openssl --enable-ssl --enable-ssl-crtd --disable-http-violations --enable-snmp --disable-stacktraces --disable-ipf-transparent --enable-ipfw-transparent --disable-pf-transparent --disable-forw-via-db --enable-wccp --enable-wccpv2 --enable-auth-basic=DB --enable-auth-digest=file --enable-external-acl-helpers=file_userip --enable-auth-negotiate=kerberos --enable-auth-ntlm=fake --enable-storeio=diskd --enable-log-daemon-helpers=file --enable-url-rewrite-helpers=fake --prefix=/usr/local --mandir=/usr/local/man --infodir=/usr/local/info/ --enable-ltdl-convenience
далее запустил make install (часть лога пришлось удалить, из за превышения кол-ва символов).
Код
root@squid:/tmp/squid-3.5.8 # make install
Making install in compat
Making install in lib
Making all in snmplib
Making all in rfcnb
Making all in smblib
Making all in ntlmauth
Making install in libltdl
make  install-am
Making install in scripts
Making install in icons
 ../cfgaux/install-sh -c -d '/usr/local/share/icons/silk'
 /usr/bin/install -c -m 644 silk/application.png silk/arrow_up.png silk/bomb.png silk/box.png silk/bricks.png silk/bullet_red.png silk/cd.png silk/chart_line.png silk/compress.png silk/computer_link.png silk/css.png silk/cup.png silk/database.png silk/database_table.png silk/drive_disk.png silk/film_key.png silk/film.png silk/folder.png silk/folder_table.png silk/image.png silk/information.png silk/layers.png silk/layout.png silk/link.png silk/music.png silk/package_go.png silk/package.png silk/page_code.png silk/page_excel.png silk/page_green.png silk/page_white_acrobat.png silk/page_white_cplusplus.png silk/page_white_c.png silk/page_white_flash.png silk/page_white_magnify.png silk/page_white_picture.png silk/page_white.png silk/page_white_powerpoint.png silk/page_white_stack.png silk/page_white_text.png '/usr/local/share/icons/silk'
 /usr/bin/install -c -m 644 silk/page_white_word.png silk/page_white_zip.png silk/page_world.png silk/photo.png silk/picture.png silk/plugin_add.png silk/plugin.png silk/script_gear.png silk/script_palette.png silk/script.png '/usr/local/share/icons/silk'
/usr/bin/install -c -m 644 ./SN.png "/usr/local/share/icons/"
Making install in errors
if test -f /usr/local/etc/errorpage.css ; then  echo "install-exec-local will not overwrite existing /usr/local/etc/errorpage.css" ;  else  /bin/sh /tmp/squid-3.5.8/cfgaux/install-sh -d `dirname /usr/local/etc/errorpage.css` ;  echo "/usr/bin/install -c -m 644 ./errorpage.css /usr/local/etc/errorpage.css";  /usr/bin/install -c -m 644 ./errorpage.css /usr/local/etc/errorpage.css;  fi
install-exec-local will not overwrite existing /usr/local/etc/errorpage.css
/bin/sh /tmp/squid-3.5.8/cfgaux/install-sh -d /usr/local/share/errors ;  for l in af.lang  ar.lang  az.lang  bg.lang  ca.lang  cs.lang  da.lang  de.lang  el.lang  en.lang  es.lang  et.lang  fa.lang  fi.lang  fr.lang  he.lang  hu.lang  hy.lang  id.lang  it.lang  ja.lang  ka.lang  ko.lang  lt.lang  lv.lang  ms.lang  nl.lang  oc.lang  pl.lang  pt-br.lang  pt.lang  ro.lang  ru.lang  sk.lang  sl.lang  sr-cyrl.lang  sr-latn.lang  sv.lang  th.lang  tr.lang  uk.lang  uz.lang  vi.lang  zh-hans.lang  zh-hant.lang templates; do  l=`basename $l .lang`;  echo "Located $l for install...";  if test -d ./$l || test -d ./$l; then  /bin/sh /tmp/squid-3.5.8/cfgaux/install-sh -d /usr/local/share/errors/$l;  fi;  for f in templates/ERR_ACCESS_DENIED  templates/ERR_ACL_TIME_QUOTA_EXCEEDED  templates/ERR_AGENT_CONFIGURE  templates/ERR_AGENT_WPAD  templates/ERR_CACHE_ACCESS_DENIED  templates/ERR_CACHE_MGR_ACCESS_DENIED  templates/ERR_CANNOT_FORWARD  templates/ERR_CONFLICT_HOST  templates/ERR_CONNECT_FAIL  templates/ERR_DIR_LISTING  templates/ERR_DNS_FAIL  templates/ERR_ESI  templates/ERR_FORWARDING_DENIED  templates/ERR_FTP_DISABLED  templates/ERR_FTP_FAILURE  templates/ERR_FTP_FORBIDDEN  templates/ERR_ONLY_IF_CACHED_MISS  templates/ERR_PRECONDITION_FAILED  templates/ERR_READ_ERROR  templates/ERR_READ_TIMEOUT  templates/ERR_SECURE_CONNECT_FAIL  templates/ERR_SHUTTING_DOWN  templates/ERR_SOCKET_FAILURE  templates/ERR_TOO_BIG  templates/ERR_UNSUP_HTTPVERSION  templates/ERR_UNSUP_REQ  templates/ERR_URN_RESOLVE  templates/ERR_WRITE_ERROR  templates/ERR_ZERO_SIZE_OBJECT templates/error-details.txt; do  page=`basename $f`;  if test -f ./$l/$page; then  echo "/usr/bin/install -c -m 644 ./$l/$page /usr/local/share/errors/$l";  /usr/bin/install -c -m 644 ./$l/$page /usr/local/share/errors/$l;  elif test -f ./$l/$page; then  echo "/usr/bin/install -c -m 644 ./$l/$page /usr/local/share/errors/$l";  /usr/bin/install -c -m 644 ./$l/$page /usr/local/share/errors/$l;  fi;  done;  done;  /usr/bin/install -c -m 644 ./TRANSLATORS /usr/local/share/errors/TRANSLATORS;  /usr/bin/install -c -m 644 ./COPYRIGHT /usr/local/share/errors/COPYRIGHT;  /usr/bin/install -c -m 644 ./errorpage.css /usr/local/etc/errorpage.css.default;  /bin/sh ./alias-link.sh "/bin/ln" "/bin/rm -f" "/usr/local/share/errors" "./aliases" || exit 1 ;
Located af for install...
/usr/bin/install -c -m 644 ./af/ERR_ACCESS_DENIED /usr/local/share/errors/af
/usr/bin/install -c -m 644 ./templates/error-details.txt /usr/local/share/errors/templates
WARNING: ## translations do not exist. Nothing to do for: Copyright (C) 1996-2015 The Squid Software Foundation and contributors
WARNING: ## translations do not exist. Nothing to do for:
WARNING: ## translations do not exist. Nothing to do for: Squid software is distributed under GPLv2+ license and includes
WARNING: ## translations do not exist. Nothing to do for: contributions from numerous individuals and organizations.
WARNING: ## translations do not exist. Nothing to do for: Please see the COPYING and CONTRIBUTORS files for details.
WARNING: ## translations do not exist. Nothing to do for:
Making install in doc
Making install in manuals
Making install in release-notes
Making install in helpers
Making install in basic_auth
Making install in DB
 ../../../cfgaux/install-sh -c -d '/usr/local/libexec'
 /usr/bin/install -c basic_db_auth '/usr/local/libexec'
 ../../../cfgaux/install-sh -c -d '/usr/local/share/man/man8'
 /usr/bin/install -c -m 644 basic_db_auth.8 '/usr/local/share/man/man8'
Making install in digest_auth
Making install in file
 ../../../cfgaux/install-sh -c -d '/usr/local/libexec'
  /bin/sh ../../../libtool   --mode=install /usr/bin/install -c digest_file_auth '/usr/local/libexec'
libtool: install: /usr/bin/install -c digest_file_auth /usr/local/libexec/digest_file_auth
 ../../../cfgaux/install-sh -c -d '/usr/local/share/man/man8'
 /usr/bin/install -c -m 644 digest_file_auth.8 '/usr/local/share/man/man8'
Making install in external_acl
Making install in file_userip
 ../../../cfgaux/install-sh -c -d '/usr/local/libexec'
  /bin/sh ../../../libtool   --mode=install /usr/bin/install -c ext_file_userip_acl '/usr/local/libexec'
libtool: install: /usr/bin/install -c ext_file_userip_acl /usr/local/libexec/ext_file_userip_acl
 ../../../cfgaux/install-sh -c -d '/usr/local/share/man/man8'
 /usr/bin/install -c -m 644 ext_file_userip_acl.8 '/usr/local/share/man/man8'
Making install in log_daemon
Making install in file
 ../../../cfgaux/install-sh -c -d '/usr/local/libexec'
  /bin/sh ../../../libtool   --mode=install /usr/bin/install -c log_file_daemon '/usr/local/libexec'
libtool: install: /usr/bin/install -c log_file_daemon /usr/local/libexec/log_file_daemon
Making install in negotiate_auth
Making install in kerberos
 ../../../cfgaux/install-sh -c -d '/usr/local/libexec'
  /bin/sh ../../../libtool   --mode=install /usr/bin/install -c negotiate_kerberos_auth negotiate_kerberos_auth_test '/usr/local/libexec'
libtool: install: /usr/bin/install -c negotiate_kerberos_auth /usr/local/libexec/negotiate_kerberos_auth
libtool: install: /usr/bin/install -c negotiate_kerberos_auth_test /usr/local/libexec/negotiate_kerberos_auth_test
 ../../../cfgaux/install-sh -c -d '/usr/local/share/man/man8'
 /usr/bin/install -c -m 644 negotiate_kerberos_auth.8 '/usr/local/share/man/man8'
Making install in url_rewrite
Making install in fake
 ../../../cfgaux/install-sh -c -d '/usr/local/libexec'
  /bin/sh ../../../libtool   --mode=install /usr/bin/install -c url_fake_rewrite '/usr/local/libexec'
libtool: install: /usr/bin/install -c url_fake_rewrite /usr/local/libexec/url_fake_rewrite
 ../../../cfgaux/install-sh -c -d '/usr/local/libexec'
 /usr/bin/install -c url_fake_rewrite.sh '/usr/local/libexec'
Making install in storeid_rewrite
Making install in file
 ../../../cfgaux/install-sh -c -d '/usr/local/libexec'
 /usr/bin/install -c storeid_file_rewrite '/usr/local/libexec'
 ../../../cfgaux/install-sh -c -d '/usr/local/share/man/man8'
 /usr/bin/install -c -m 644 storeid_file_rewrite.8 '/usr/local/share/man/man8'
Making install in ntlm_auth
Making install in fake
 ../../../cfgaux/install-sh -c -d '/usr/local/libexec'
  /bin/sh ../../../libtool   --mode=install /usr/bin/install -c ntlm_fake_auth '/usr/local/libexec'
libtool: install: /usr/bin/install -c ntlm_fake_auth /usr/local/libexec/ntlm_fake_auth
Making install in ssl
 ../../cfgaux/install-sh -c -d '/usr/local/libexec'
 /usr/bin/install -c cert_valid.pl '/usr/local/libexec'
Making install in src
make  install-recursive
Making install in base
Making install in anyp
Making install in helper
Making install in ftp
Making install in parser
Making install in comm
Making install in eui
Making install in acl
Making install in format
Making install in clients
Making install in servers
Making install in fs
Making install in repl
Making install in auth
Making install in basic
Making install in digest
Making install in negotiate
Making install in ntlm
Making install in http
Making install in ip
Making install in icmp
Making install in ident
Making install in log
Making install in ipc
/bin/sh /tmp/squid-3.5.8/cfgaux/install-sh -d /usr/local/var/run/squid;
Making install in mgr
Making install in ssl
 ../../cfgaux/install-sh -c -d '/usr/local/libexec'
  /bin/sh ../../libtool   --mode=install /usr/bin/install -c ssl_crtd '/usr/local/libexec'
libtool: install: /usr/bin/install -c ssl_crtd /usr/local/libexec/ssl_crtd
 ../../cfgaux/install-sh -c -d '/usr/local/share/man/man8'
 /usr/bin/install -c -m 644 ssl_crtd.8 '/usr/local/share/man/man8'
Making install in snmp
 ../cfgaux/install-sh -c -d '/usr/local/libexec'
  /bin/sh ../libtool   --mode=install /usr/bin/install -c DiskIO/DiskDaemon/diskd unlinkd '/usr/local/libexec'
libtool: install: /usr/bin/install -c DiskIO/DiskDaemon/diskd /usr/local/libexec/diskd
libtool: install: /usr/bin/install -c unlinkd /usr/local/libexec/unlinkd
 ../cfgaux/install-sh -c -d '/usr/local/sbin'
  /bin/sh ../libtool   --mode=install /usr/bin/install -c squid '/usr/local/sbin'
libtool: install: /usr/bin/install -c squid /usr/local/sbin/squid
 ../cfgaux/install-sh -c -d '/usr/local/etc'
 /usr/bin/install -c -m 644 squid.conf.default squid.conf.documented mime.conf.default '/usr/local/etc'
 ../cfgaux/install-sh -c -d '/usr/local/share'
 /usr/bin/install -c -m 644 mib.txt '/usr/local/share'
install-data-local will not overwrite existing /usr/local/etc/mime.conf
install-data-local will not overwrite existing /usr/local/etc/squid.conf
echo "/usr/bin/install -c -m 644 squid.conf.default /usr/local/etc/squid.conf.default";  /usr/bin/install -c -m 644 squid.conf.default /usr/local/etc/squid.conf.default;  echo "/usr/bin/install -c -m 644 squid.conf.documented /usr/local/etc/squid.conf.documented";  /usr/bin/install -c -m 644 squid.conf.documented /usr/local/etc/squid.conf.documented;  /bin/sh /tmp/squid-3.5.8/cfgaux/install-sh -d /usr/local/var/logs;  /bin/sh /tmp/squid-3.5.8/cfgaux/install-sh -d /usr/local/var/cache/squid;  /bin/sh /tmp/squid-3.5.8/cfgaux/install-sh -d `dirname /usr/local/var/run/squid.pid`
/usr/bin/install -c -m 644 squid.conf.default /usr/local/etc/squid.conf.default
/usr/bin/install -c -m 644 squid.conf.documented /usr/local/etc/squid.conf.documented
 ../cfgaux/install-sh -c -d '/usr/local/share/man/man8'
 /usr/bin/install -c -m 644 squid.8 '/usr/local/share/man/man8'
Making install in tools
Making install in purge
 ../../cfgaux/install-sh -c -d '/usr/local/bin'
  /bin/sh ../../libtool   --mode=install /usr/bin/install -c purge '/usr/local/bin'
libtool: install: /usr/bin/install -c purge /usr/local/bin/purge
Making install in squidclient
 ../../cfgaux/install-sh -c -d '/usr/local/bin'
  /bin/sh ../../libtool   --mode=install /usr/bin/install -c squidclient '/usr/local/bin'
libtool: install: /usr/bin/install -c squidclient /usr/local/bin/squidclient
 ../../cfgaux/install-sh -c -d '/usr/local/share/man/man1'
 /usr/bin/install -c -m 644 squidclient.1 '/usr/local/share/man/man1'
Making install in systemd
Making install in sysvinit
 ../cfgaux/install-sh -c -d '/usr/local/libexec'
  /bin/sh ../libtool   --mode=install /usr/bin/install -c cachemgr.cgi '/usr/local/libexec'
libtool: install: /usr/bin/install -c cachemgr.cgi /usr/local/libexec/cachemgr.cgi
 ../cfgaux/install-sh -c -d '/usr/local/libexec'
 /usr/bin/install -c helper-mux.pl '/usr/local/libexec'
/usr/bin/install -c -m 644 ./cachemgr.conf /usr/local/etc/cachemgr.conf.default
install-data-local will not overwrite existing /usr/local/etc/cachemgr.conf
 ../cfgaux/install-sh -c -d '/usr/local/share/man/man8'
 /usr/bin/install -c -m 644 cachemgr.cgi.8 '/usr/local/share/man/man8'
Making install in test-suite
И вроде все норм установилось, НО!. Пытаюсь стартануть squid, дает ошибку...
Код
root@squid:/tmp/squid-3.5.8 # service squid start
squid does not exist in /etc/rc.d or the local startup
directories (/usr/local/etc/rc.d)
Я не большой знаток, но подозреваю что я где то что то пропустил... Нид хелп!
Ответ: Всем спасибо, попробую.
Вопрос: nginx proxy_pass

Помогите настроить nginx, если такое возможно.
Хочу чтобы при обращении на сайт открывался сайт

Экпериментирую.
Указал такой локейшн:
location / {
       proxy_pass        https://site1/;
}

Набираю в браузере открывается сайт и по редиректу на нем попадаю на (т.е. в реале на
Все круто, сайт отображается!

Меняю локейшн на:
location /www1 {
       proxy_pass        https://site1/;
}


Набираю в браузере открывается сайт и по редиректу на нем опять попадаю на При этом nginx выдает ошибку 404. А правильный путь должен быть

Как правильно это прописать, а может еще нужно задействовать rewrite?
Ответ:
k-nike
location /www1 {
       proxy_pass        https://site1/;
}



Можно убрать последний слеш в proxy_pass, тогда nginx будет путь пробрасывать полностью URL . Или написать /www1 два раза

location /www1 {
       proxy_pass        https://site1/www1;
}


Но тогда всеравно не будут работать абсолютные ссылки, выдаваемые site1. То есть, <img src="/image.jpg"> будет браузером запрашиваться у nginx и он их находить не будет, так как правильным линком в этом случае будет /www1/image.jpg.

Так что вариант с несколькими вирт. хостами каждый со своим proxy_pass - самый рабочий.
Вопрос: Поговорим про nginx?

Вот прочитал комментарий, типа
мимопроходилтреднечитал
это всё потому, что у апаче убогие конфиги и документация, поэтому и нжинкс набирает обороты: документация людская, конфиги людские
про апача ничего не скажу, а вот с nginx-ом возникают многие недопонимания (ну таки пришлось и его подкручивать)
Например, из наступленных граблей (за неделю знакомства):

  • Проксирование SSL траффика (причем используется TRANSPARENT-прокси) на Tomcat -- новый хром (и все, что на его движке построено) -- если идет расшифровка на nginx и на Tomcat пробрасывается на HTTP точку доступа -- ошибка (там приложение такое, что кроме 401, 403 ничего и не видно, причем если 401 еще нормально, юзер не успел авторизоваться, то 403 не знаю на каком основании отдается). Похоже из-за того, что , других оснований не вижу, более старые версии работают

  • Проксирование SSL траффика (уже не расшифровыванного, на HTTPS) при настройке KEEPALIVE в UPSTREAM -- приложение (иногда!!!) получает какой-то левый клиентский адрес (а в приложении проверка на него)

  • ERROR_PAGE, будучи объявленным на уровне SERVER, через корректно отрабатывает только на уровне LOCATION, если IF будет внутри SERVER -- отдается нативная страница ошибка

+ В принципе, вот конфиги -- если кто покритикует, буду признателен
nginx.conf

user root;
worker_processes auto;

error_log /var/log/nginx/error.log warn;
#error_log /var/log/nginx/error.log debug;
pid /var/run/nginx.pid;

events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;

server_tokens off;
ignore_invalid_headers on;
open_log_file_cache max=1000;

log_format main
'$remote_addr [$time_iso8601] ($host) "$request" '
'$status $body_bytes_sent bytes ($request_time secs) '
'"$http_referer" "$http_user_agent" "$upstream_addr"';

log_format error_access_format
'$remote_addr [$time_iso8601] "$request" '
'$status "$http_referer" '
'"$http_user_agent" "$request_uri" ($error_access)';

log_format deny_log_format
'$remote_addr 1;';

access_log /var/log/nginx/access.log main;

ssl_ciphers "-ALL:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:DES-CBC3-SHA";
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_session_timeout 10m;


client_max_body_size 0;
client_body_buffer_size 128m;

proxy_send_timeout 150;
proxy_read_timeout 150;

proxy_buffer_size 4k;
proxy_buffers 8192 4k;
proxy_busy_buffers_size 4m;

proxy_cache_bypass $http_cache_control;
proxy_no_cache $http_cache_control;

proxy_http_version 1.1;
# proxy_set_header Connection "";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

keepalive_timeout 120 100;
keepalive_requests 100;
reset_timedout_connection on;

sendfile on;
tcp_nodelay on;
tcp_nopush on;

gzip on;
gzip_disable "msie6";
gzip_types text/plain text/csstext/xml text/javascript application/x-javascript application/xml;
gzip_proxied expired no-cache no-store private auth;

include checks/*.conf;
include conf.d/*.conf;
}

stream {
open_log_file_cache max=1000;

log_format stream
'$remote_addr [$time_iso8601] '
'$protocol $status $bytes_sent sent $bytes_received recv '
'($session_time secs) "$upstream_addr" ';

include stream/*.conf;
}
conf.d/morpheus.conf
upstream morpheus_http  {
ip_hash;
server 192.168.213.13:8080;
# keepalive 4;
}

upstream morpheus_https {
ip_hash;
server 192.168.213.13:443;
# keepalive 4;
}

map $host:$request_uri $bad_request {
default 0;
"~*^195\.x\.x\.x:/app3/.*" 0;
"~*^195\.x\.x\.x:.*" 1;
}

server {
listen 80;
server_name morpheus.xxx.ru 195.xxx.xxx.xxx;

rewrite ^ permanent;
}

limit_conn_zone $binary_remote_addr zone=limit_conn_morpheus:5m;
limit_req_zone $binary_remote_addr zone=limit_req_morpheus:10m rate=20r/s;

proxy_cache_path /var/cache/nginx/morpheus levels=1:2 use_temp_path=off keys_zone=morpheus_cache:20m max_size=256m;

server {
listen 443 ssl;
server_name morpheus.xxx.ru 195.xxx.xxx.xxx;

include err_page/*.conf;
include checks/log_bad_access;

limit_conn limit_conn_morpheus 50;
limit_req zone=limit_req_morpheus burst=80;
limit_conn_log_level error;
limit_req_log_level warn;

access_log /var/log/nginx/morpheus_access.log main;
error_log /var/log/nginx/morpheus_error.log warn;

ssl_certificate ssl/morpheus-cert.pem;
ssl_certificate_key ssl/morpheus-key.pem;
ssl_dhparam ssl/dh2048.pem;

ssl_session_cache shared:SSL_morpheus:2m;

proxy_bind $remote_addr transparent;

proxy_cache morpheus_cache;

location ^~ /app2/ {
include checks/ret_bad_access;
proxy_pass
}

location / {
if ($bad_request) {
return 403;
}
include checks/ret_bad_access;
proxy_pass
}
}
err_page/error_page.conf
error_page      502 504 /errors/temp_unavail.html;

error_page 403 /errors/forbidden.html;

location ~ ^/errors/([^/]*\.html)$ {
alias err_page/$1;
allow all;
internal;
}
checks/check.conf (сперто с )
include checks/*.map;

map $bad_ip $bad_ip_str {
"1" "Bad IP";
}
map $bad_ua $bad_ua_str {
"1" "Bad User Agent";
}
map $bad_location $bad_location_str {
"1" "Bad Location";
}
map $bad_referer $bad_referer_str {
"1" "Bad Referer";
}
map "$bad_ip:$bad_ua:$bad_location:$bad_referer" $error_access {
"~^1" $bad_ip_str;
"~^.:1" $bad_ua_str;
"~^.:.:1" $bad_location_str;
"~^.:.:.:1" $bad_referer_str;
}
map $bad_ip:$error_access $add_bad_ip {
default "1";
"0:" "0";
# "~^1:" "0";
}
checks/log_bad_access
access_log      /var/log/nginx/access_error.log error_access_format if=$error_access;
access_log checks/bad_ip.list deny_log_format if=$add_bad_ip;
checks/ret_bad_access (пришлось отделить от предыдущего, чтоб встраивать отдельно в LOCATION, иначе отдается нативная страница ошибки)
if ($error_access)      {
return 403;
}
stream/9094.conf
upstream morpheus_xxx      {
hash $remote_addr consistent;
server 192.168.213.13:9094;
}

limit_conn_zone $binary_remote_addr zone=limit_conn_stream_9094:10m;

server {
listen 9094;

limit_conn limit_conn_stream_9094 20;
limit_conn_log_level error;

access_log /var/log/nginx/stream_9094_access.log stream;
error_log /var/log/nginx/stream_9094_error.log warn;

proxy_bind $remote_addr transparent;

proxy_pass morpheus_xxx;
}

PS. Для Tomcat <Valve className="org.apache.catalina.valves.RemoteIpValve" настроен
PPS. TRANSPARENT-прокси выбран именно для того, чтоб по TCP протоколу получать адрес клиента в логе. В принципе, для HTTP/HTTPS пробовался и не транспарентный (чисто через заголовки) -- рояли не играет -- первые две проблемы стреляют
PPPS. И самое обидное, что это проявляется только под нагрузкой
Ответ:
Basil A. Sidorov
Вячеслав Любомудров
Еще раз -- в чистом TCP траффике нет никаких заголовков
А, б-муха, не знал.

P.S. Как уже задолбали любители извратов на ровном месте ...
Можешь предложить вариант без извратов?