Heim > Fragen und Antworten > Hauptteil
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
阿神2017-05-16 17:23:05
你要分开写,先创建一个server专门处理https请求, 然后根据url反向代理过去就行了, 下面是代码:
server {
listen 443;
server_name os.test.com;
location / {
}
location ~* .(login|passwd)$ {
proxy_pass http://127.0.0.1:9999
}
}
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 / {
}
}
黄舟2017-05-16 17:23:05
# http
server {
listen 80;
location /login {
rewrite ^ https://$host$request_uri permanent;
}
}
# https
server {
listen 443;
}