Nginx sub_filter pour modifier le contenu de la réponse html

http_sub_moduleTout d'abord, nous devons nous assurer que Nginx a été correctement compilé et installé avec les modules et activés http_ssl_module. Vous pouvez suivre les étapes ci-dessous :

  1. Téléchargez et décompressez le code source Nginx, puis entrez dans le répertoire décompressé.

    wget https://nginx.org/download/nginx-1.23.0.tar.gz
    
  2. Exécutez les commandes suivantes pour compiler et installer Nginx :

    ./configure --prefix=/user/local/nginx --with-http_sub_module --with-http_ssl_module
    make
    sudo make install
    

    Cela compilera et installera Nginx avec http_sub_moduleet activé http_ssl_module.

  3. Une fois l'installation terminée, vous pouvez exécuter la commande suivante pour vérifier que Nginx est correctement activéhttp_sub_module :

    /user/local/nginx/sbin/nginx -V
    

    Dans la sortie, vous devriez pouvoir voir --with-http_sub_moduleles informations.

    9ab96d008709fcef9261effd2d11447.png

Ensuite, nous allons modifier le fichier de configuration Nginx pour ajouter du code JavaScript personnalisé dans la réponse HTML. Suivez les étapes ci-dessous :

  1. Ouvrez le fichier de configuration Nginx. Par défaut, ce fichier se trouve dans/user/local/nginx/conf/nginx.conf

  2. À la place, ajoutez le bloc de configuration suivant :

    server {
        listen 9999;
        location / {
            sub_filter '</body>' '<script>console.log("hello from Judith")</script></body>';
            sub_filter_once off;
            root html;
            index index.html;
        }
    }
    

    Cela appliquera la directive sous tous les chemins demandés sub_filteret </body>remplacera par <script>console.log("hello from Judith")</script></body>.

    Notez que listenles instructions peuvent être modifiées selon vos besoins pour convenir à votre situation.

  3. Enregistrez et fermez le fichier de configuration Nginx.

  4. Vérifiez le fichier de configuration pour les erreurs de syntaxe :

    /user/local/nginx/sbin/nginx -t
    

    S'il n'y a pas d'erreurs, un message indiquant que la syntaxe du fichier de configuration est correcte s'affiche.

  5. Redémarrez Nginx pour que les modifications prennent effet :

    sudo /user/local/nginx/sbin/nginx -s reload
    

    ou

    sudo systemctl reload nginx
    
  6. Visitez la figure suivante dans le navigateur
    , vous pouvez voir que ce code js a été ajouté au html
    b96c91c1768b098a37929d00214ad59.png

a7560dec07a0252657333e4760971bf.png

Affichez le contenu du fichier source index.html, comme indiqué dans la figure ci-dessous, il n'y a pas console.log("hello from Judith")de code de ce type dans le fichier source index.html

90de4f7eea04340fcd758c83bcfc3fb.png

Désormais, lorsque le client visitera la page HTML fournie par Nginx, Nginx utilisera sub_filterla directive </body>pour remplacer par <script>console.log("hello from Judith")</script></body>, ajoutant ainsi un code JavaScript personnalisé dans le HTML.

De cette façon, nous pouvons facilement utiliser sub_filterles modules Nginx pour modifier la réponse HTML et ajouter du code JavaScript personnalisé si nécessaire.

J'espère que ce blog vous a été utile ! Si vous avez d'autres questions, n'hésitez pas à les poser.

Je suppose que tu aimes

Origine blog.csdn.net/huangjuan0229/article/details/131922695
conseillé
Classement