最新消息:

nginx实现ssl反向代理实战

安全知识 admin 2496浏览 0评论

登录认证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

 

— 杨华辉 Switching and Intelligent Control Research Center Beijing University of Posts and Telecommunications E-mail: huahuiyang(at)gmail.com
转自:http://www.cnblogs.com/yanghuahui/p/3641195.html

 

 

 

转载请注明:jinglingshu的博客 » nginx实现ssl反向代理实战

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址