Добавьте запаздывание наклонной черты, когда это будет отсутствовать в nginx

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)... Я думаю, что производительность не изменится

8
задан 13 April 2017 в 15:14
2 ответа

Это очень, очень сложно, потому что вы должны учитывать все возможности в ваших 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 и сообщите, если он сообщит о любых ошибках. Не, я повторяю, не тестируйте это на своем производственном сайте, а тестируйте все, о чем вы можете подумать.

1
ответ дан 2 December 2019 в 22:56

Я нашел решение : Я добавил следующую строку над директивой "try_files" в блоке "location /":

rewrite ^ ([^.] * [^ /]) $ 1 / постоянный;

который творит чудеса.

10
ответ дан 2 December 2019 в 22:56

Теги

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