снова valid_referers & ssl
Igor Sysoev
is at rambler-co.ru
Thu Mar 10 22:16:25 MSK 2005
On Thu, 10 Mar 2005, Artem Danilenko wrote:
> Проблема в следущем, есть два сервер оба отдают статику(один еще
> динамику через прокси) у обих стоит проверка valid_referers в обоих
> случаях *.test.com/, на сервер который отдает только статику если
> рефер стоит просто домен test.com то выдается 403 ошибка, сначала я
> подумал просто нету такова имени в server_name в описании сервер, но
> потом заметил что если стоит рефер www.test.com то все нормально,
> конфигурации серверов и куски лога приведены ниже...
В первом сервере test.com не является правильным реферером, так как
его нет в server_name и он не попадает под *.test.com/.
Нужно так:
valid_referers none test.com/ *.test.com/;
server_names в данном случае не нужен, так как download.test.com попадает
под *.test.com/.
> сегодня поробовал использовать в nginx, ssl на тестовом сервере и
> заметил что первый запрос обычно выдает ошибку 400
>
> 10.10.4.64 - - [10/Mar/2005:15:27:54 +0500] "" 400 0 "-" "-"
> 10.10.4.64 - - [10/Mar/2005:15:28:05 +0500] "GET / HTTP/1.1" 200 480 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MyIE2; SV1; .NET CLR 1.1.432
> 2)"
При получении тестового сертификата MSIE закрывает соединение и спрашивает
у пользователя подтверждение на приём сертификата. Поэтому и 400.
А Мозилла, например, соединение не закрывает и после получения подтвержения
работает по этому же соединению.
> первый сервер:
> server {
> listen 80;
> server_name download.test.com;
>
> location / {
>
> valid_referers none server_names *.test.com/;
> if ($invalid_referer) {
> return 403;
> }
>
> root /www/download.test.com;
> access_log logs/static/test.log download;
> expires 30d;
> }
> }
> второй сервер
> server {
> listen 80;
> server_name test.com www.test.com;
>
> access_log logs/test.log;
>
> location / {
> proxy_pass http://127.0.0.1/;
> client_max_body_size 80m;
> client_body_buffer_size 128k;
> proxy_connect_timeout 90;
> proxy_send_timeout 90;
> proxy_read_timeout 9m;
> proxy_preserve_host on;
> proxy_set_x_real_ip on;
> proxy_add_x_forwarded_for on;
> proxy_header_buffer_size 4k;
> proxy_buffers 4 32k;
> proxy_busy_buffers_size 64k;
> proxy_temp_file_write_size 64k;
> proxy_temp_path /tmp/nginx;
> }
> location ~* ^.+\.(jpg|jpeg|gif|css|htm|html|zip|rar|swf|txt|exe|mpg|mp3|ico|avi|png|js|pdf)$ {
>
> valid_referers none server_names *.test.com/;
> if ($invalid_referer) {
> return 403;
> }
>
> root /www/test.com;
> access_log logs/test-static.log download;
> expires 30d;
> }
> }
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list