首頁  >  問答  >  主體

rewrite - nginx對特別的url實現https

有一個介面的系統都是http的請求我現在像把例如帶有login passwd的url進行ssl ,例如app調用os.test.com/a/p/login的時候走https請求但是其它的請求還是走http請求現在用openssl配置了證書私鑰等但是現在每個請求都走了https請求如
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;
}

}
這個該怎麼去修改

仅有的幸福仅有的幸福2713 天前579

全部回覆(2)我來回復

  • 阿神

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

    你要分開寫,先建立一個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 / {
     
    }

    }

    回覆
    0
  • 黄舟

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

    雷雷

    回覆
    0
  • 取消回覆