recherche

Maison  >  Questions et réponses  >  le corps du texte

réécriture - nginx implémente https pour les URL spéciales

Le système avec une interface utilise tous des requêtes http. Maintenant, j'aime utiliser SSL pour les URL avec mot de passe de connexion. Par exemple, lorsque l'application appelle os.test.com/a/p/login, elle utilise des requêtes https, mais d'autres requêtes. continuez à le parcourir. La requête http est maintenant configurée avec openssl, la clé privée du certificat, etc. Mais maintenant, chaque requête passe par une requête https telle que
server {

listen      443;
server_name  os.test.com;
ssl on;
ssl_certificate /etc/ngx/conf.d/server.crt;
ssl_certificate_key /etc/ngx/conf.d/server.key;
location / {
    proxy_pass http://127.0.0.1:9988;
}

}
Comment dois-je modifier cela

仅有的幸福仅有的幸福2752 Il y a quelques jours603

répondre à tous(2)je répondrai

  • 阿神

    阿神2017-05-16 17:23:05

    Vous devez l'écrire séparément. Créez d'abord un serveur pour gérer spécifiquement les requêtes https, puis inversez-le en fonction de l'URL. Voici le code :

    Gérer les requêtes non-https, les requêtes https sont envoyées par proxy inverse

    serveur {

    listen      443;
    server_name  os.test.com;
    location / {
    
    }
    
    location ~* .(login|passwd)$ {
        proxy_pass http://127.0.0.1:9999
    }

    }

    Traitement des requêtes https

    serveur{

    listen 9999
    server_name 127.0.0.1
    ssl on;
    ssl_certificate /etc/ngx/conf.d/server.crt;
    ssl_certificate_key /etc/ngx/conf.d/server.key;
    location / {
     
    }

    }

    répondre
    0
  • 黄舟

    黄舟2017-05-16 17:23:05

    # http
    server {
        listen 80;
        
        location /login {
            rewrite ^  https://$host$request_uri permanent;
        }
    }
    
    # https
    server {
        listen 443;
    }

    répondre
    0
  • Annulerrépondre