Nginx'teki belirli yollar için SSL'yi devre dışı bırakma


11

HTTPS ile tüm istekleri ile başlayan yolları ile URL istekleri dışında yapılmasını istediğiniz bir Web sitem var /foo/. Bunu Nginx'te nasıl yapılandırabilirim?

Şu anda tüm istekleri SSL ile çalıştırıyorum:

server {
    listen 443;

    ssl on;
    ssl_certificate /home/admin/ssl/ssl.crt;
    ssl_certificate_key /home/admin/ssl/ssl.key;

    server_name www.mydomain.com;

    location / {
        proxy_pass http://localhost:8000;
        ...
    }
}

Eğer istiyor musunuz zorlamak SSL kullanmaz o yola istekleri veya izin SSL kullanmayan istekleri?
Shane Madden

HTTP ve HTTPS kullanmak için bu yola yönelik isteklere izin vermek istiyorum.
hekevintran

Yanıtlar:


15

SSL olmayan, bağlantı noktası 80, /foo/*diğer her şeyi HTTPS URL'sine sunup yeniden yönlendiren ikinci bir sunucu girişi ekleyin.

Belki böyle bir şey ?:

server {
    listen      80;
    server_name www.example.com;

    location ~ ^/(foo|foo/.*)$ {
        proxy_pass http://localhost:8000;
        ... 
    }

    location / {
        rewrite  ^ https://$server_name$request_uri? permanent;
    }
}

Mükemmel cevap.
hekevintran
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.