nginx實現ssl反向代理實戰


登錄認證account.free4lab.com需要提供ssl登錄接口,ssl的原理看這篇博文,因為前面有反向代理nginx,所以這個需求就放在nginx實現了,否則可以放在web容器(jetty,tomcat)上實現,如何在容器實現ssl部署可以看之前的一篇博文linux tomcat配置https

步驟:

1.生成一個權威的ssl證書對(如果自己頒發的話,那么https是不被瀏覽器認可的,就是https上面會有一個大紅叉)

推薦一個免費的網站:https://www.startssl.com/

startssl的操作教程看這個:http://www.freehao123.com/startssl-ssl/

2.根據ssl.key和ssl.crt部署nginx

首先nginx需要支持ssl_module,然后修改nginx.conf如下

server {
        listen       443;
        server_name  localhost;

        ssl                  on;
        ssl_certificate      /opt/tengine/conf/ssl/free4lab.crt;
        ssl_certificate_key  /opt/tengine/conf/ssl/free4lab_nopass.key;

        ssl_session_timeout  5m;
    }

在相應的位置放置crt文件和key文件,注意到這邊的key是nopassword的,就是重啟nginx的時候,不需要輸入密碼。

free4lab_nopass.key是根據free4lab.key生成的,生成命令如下:

openssl rsa -in free4lab.key -out free4lab_nopass.key
然后輸入密碼就行

3.修改相應的服務配置文件,監聽443端口

upstream account.free4lab.com {
    session_sticky cookie=uid fallback=on path=/ mode=insert option=indirect;
    server 192.168.1.62:8084 weight=10;
    server 192.168.1.63:8082 weight=10;
}
server {
    listen 80;
    listen 443;
    server_name account.free4lab.com;
    location / {
        session_sticky_hide_cookie upstream=account.free4lab.com;
        proxy_pass http://account.free4lab.com;
    }
}

 

這樣訪問 https://account.free4lab.com,https上頭的標就是綠色的了!enjoy

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM