iptables-A ВПЕРЕД-i eth0-s source_ip-d dest_ip-p tcp - dport 80-j ПРИНИМАЮТ
и
iptables-A ПЕРЕДАЮТ-p tcp - dport 80-s source_ip-d dest_ip-i eth0-j ПРИНИМАЕТ
создайте системный вызов iptc_append_entry () с теми же аргументами.
iptables-A ПЕРЕДАЮТ-s source_ip-d dest_ip-p tcp - dport 80-j ПРИНИМАЕТ
создайте системный вызов iptc_append_entry () с другой ipt_entry структурой (без iniface)... Я думаю, что производительность не изменится
Это очень, очень сложно, потому что вы должны учитывать все возможности в ваших URL. Давайте внимательнее посмотрим на ту конфигурацию, которую вы там разместили, и оптимизируем ее, пытаясь реализовать ваше желание. Я должен исправить полную конфигурацию, потому что она содержит более одного риска безопасности для вашего веб-сайта (и продолжайте чтение после настройки).
server {
server_name DOMAIN.com;
return 301 $scheme://www.$server_name$request_uri;
}
server {
index index.html index.php;
listen 80 default;
root /var/www;
server_name www.DOMAIN.com;
location / {
# Hide ALL kind of hidden stuff.
location ~ /\. {
return 403;
}
# Protect Magento's special directories in document root.
location ~* ^/(app|includes|lib|media/downloadable|pkginfo|report/config\.xml|var)/? {
return 403;
}
# Directly deliver known file types.
location ~* \.(css|gif|ico|jpe?g|js(on)?|png|svg|webp)$ {
access_log off;
add_header Cache-Control "public";
add_header Pragma "public";
expires 30d;
log_not_found off;
tcp_nodelay off;
try_files $uri =404;
}
# Do not allow direct access to index.php
location ~* ^(.*)index\.php$ {
return 301 $1;
}
# Extremely risky ... oh boy!
location ~* \.php/ {
rewrite ^(.*\.php)/ $1 last;
}
# Not direct index.php access and not one of those ultra
# risky php files with a path appended to their script name,
# let's try to add a slash if it's missing.
location ~* ^(.*)[^/]+$ {
return 301 $1/;
}
location ~* \.php$ {
include fastcgi_params;
fastcgi_index index.php;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param MAGE_RUN_CODE "default";
fastcgi_param MAGE_RUN_TYPE "store";
fastcgi_pass 127.0.0.1:9000;
# Ensure it's an actual PHP file!
try_files $uri =404;
}
}
location ^~ /var/export/ {
auth_basic "Restricted";
auth_basic_user_file htpasswd;
autoindex on;
}
}
Я не могу протестировать эту конфигурацию, я записал ее насколько мне известно. Пожалуйста, выполните nginx -t
перед попыткой перезагрузить
ваш nginx и сообщите, если он сообщит о любых ошибках. Не, я повторяю, не тестируйте это на своем производственном сайте, а тестируйте все, о чем вы можете подумать.
Я нашел решение : Я добавил следующую строку над директивой "try_files" в блоке "location /":
rewrite ^ ([^.] * [^ /]) $ 1 / постоянный;
который творит чудеса.