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
你要分開寫,先創(chuàng)建一個server專門處理https請求, 然后根據(jù)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 / {
}
}
# http
server {
listen 80;
location /login {
rewrite ^ https://$host$request_uri permanent;
}
}
# https
server {
listen 443;
}