rewrite – Nginx implementiert https für spezielle URLs
仅有的幸福
仅有的幸福 2017-05-16 17:21:05
0
2
598

Das System mit einer Schnittstelle verwendet jetzt gerne SSL für URLs mit Login-Passwd. Wenn die App beispielsweise os.test.com/a/p/login aufruft, verwendet sie HTTP-Anfragen, aber andere Anfragen Gehen Sie es immer noch durch. Die HTTP-Anfrage ist jetzt mit OpenSSL, dem privaten Schlüssel des Zertifikats usw. konfiguriert. Aber jetzt geht jede Anfrage über eine HTTPS-Anfrage wie
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;
}

}
Wie soll ich das ändern

仅有的幸福
仅有的幸福

Antworte allen(2)
阿神

你要分开写,先创建一个server专门处理https请求, 然后根据url反向代理过去就行了, 下面是代码:

处理非https请求,https请求反向代理出去

server {

listen      443;
server_name  os.test.com;
location / {

}

location ~* .(login|passwd)$ {
    proxy_pass http://127.0.0.1:9999
}

}

处理https请求

server{

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 / {
 
}

}

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

# https
server {
    listen 443;
}
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage