Joomla 3.3.4 nginx 1.8 и конфиг htaccess

baas
На сайте с 17.09.2012
Offline
171
1477

Добрый день.

Решил перевести сайт с апача на nginx.

Joomla 3.3.4

nginx -v

nginx version: nginx/1.8.0

Непонятные ситуации с конфигов htaccess.

https://docs.joomla.org/Nginx

В этой инструкции ничего не сказано про эти строки.

Это нужно переводить в nginx?

RewriteCond %{QUERY_STRING} category_id=.*

RewriteRule ^(.*)$ http://мой_сайт.ru/$1? [R=301,L]

RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F]

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]

Пока что создал такой конфиг. виртуального хоста.

server {

listen 80;
root /usr/local/www/default/;
}

server {
listen 80;
server_name 24.com;
return 301 http://www.24.com$request_uri;
}

server {
listen 80;
server_name www.24.com;
access_log /mnt/backLOG/log/nginx/24.access_log;
error_log /mnt/backLOG/log/nginx/24.error_log info;
root /usr/local/www/24.com;
index index.php index.html index.htm default.html default.htm;

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

location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
return 403;
error_page 403 /403_error.html;
}

location ~ \.php$ {
fastcgi_pass unix:/tmp/www.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

location ~* \.(ico|pdf|flv)$ {
expires 1y;
}

location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
expires 34d;
}

location ^~ /administrator/ {
index index.php;
auth_basic "closed site";
auth_basic_user_file /usr/local/.htpasswd;
allow 23.18.56.22;
allow 27.5.20.26;
}

location /pma {
alias /usr/local/www/phpMyAdmin/;
index index.php;
auth_basic "closed site";
auth_basic_user_file /usr/local/.htpasswd;
allow 23.18.56.22;
allow 27.5.20.26;
}

location ~ ^/pma/(.*\.php)$ {
fastcgi_pass unix:/tmp/www.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /usr/local/www/phpMyAdmin/$1;
fastcgi_param DOCUMENT_ROOT /usr/local/www/phpMyAdmin;
}

location ~ /\.ht {
deny all;
}
}
Настройка BSD систем. (https://www.fryaha.ru) Знание сила, незнание Рабочая сила!
UF
На сайте с 25.12.2011
Offline
28
#1
baas
На сайте с 17.09.2012
Offline
171
#2

Это я видел.

Но не понятно, для чего тогда добавляют в htaccess для апача эти строки, если их не нужно добавлять к nginx.

K5
На сайте с 21.07.2010
Offline
209
#3

пробуйте конвертеры

http://www.anilcetin.com/

http://winginx.com/ru/htaccess

аська 45два48499два записки на работе (http://memoryhigh.ru) помогу с сайтом, удалю вирусы, настрою впс -> отзывы ТУТ (/ru/forum/836248) и ТАМ (http://www.maultalk.com/topic140187.html) !!!всегда проверяйте данные людей, которые сами пишут вам в аську или скайп!!!
baas
На сайте с 17.09.2012
Offline
171
#4
kgtu5:
пробуйте конвертеры
http://www.anilcetin.com/
http://winginx.com/ru/htaccess

Я уже правила из htaccess перевел в нгинс, интересуюсь.

Нужны ли эти правила вообще, может они в nginx дополнительную нагрузку дадут или что еще хуже, появится дыра.

baas
На сайте с 17.09.2012
Offline
171
#5

воощем решил использовать такой конфиг.

server {
listen 3.3.3.9:80;
server_name q-dr.net;
return 301 http://www.q-dr.net$request_uri;
}

server {
listen 3.3.3.9:80;
server_name www.q-dr.netm;
access_log /mnt/backLOG/log/nginx/q-dr.access_log;
error_log /mnt/backLOG/log/nginx/q-dr.error_log info;
root /usr/local/www/q-dr.net;
index index.php index.html index.htm default.html default.htm;
open_file_cache max=15024 inactive=600s;
open_file_cache_valid 3000s;
open_file_cache_min_uses 2;
open_file_cache_errors on;

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

location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
return 403;
error_page 403 /403_error.html;
}

location ~ \.php$ {
fastcgi_pass unix:/tmp/www.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

location ~* \.(ico|pdf|flv)$ {
expires 1y;
}

location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
expires 30d;
}

location ~* ^/administrator/.+\.php {
auth_basic "closed site";
auth_basic_user_file /usr/local/.htpasswd;
fastcgi_pass unix:/tmp/www.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

location ~ /\.ht {
deny all;
}
}

Почемуто с этим кодом открывалась толкьо главная страница, остальные только давали скачать файл.

location / {
try_files $uri $uri/ /index.php?$args;
if ($query_string ~ "base64_encode[^(]*\([^)]*\)"){
return 403;
}
if ($query_string ~* "(<|%3C)([^s]*s)+cript.*(>|%3E)"){
return 403;
}
if ($query_string ~ "GLOBALS(=|\[|\%[0-9A-Z]{0,2})"){
return 403;
}
if ($query_string ~ "_REQUEST(=|\[|\%[0-9A-Z]{0,2})"){
return 403;
}
if (!-e $request_filename){
rewrite ^(.*)$ /index.php break;
}
}

Какие еще нюансы безопасности учесть в связке (nginx+php-fpm+joomla3) ?

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий