查看: 784|回复: 0

使用nginx搭建https服务器

[复制链接]
发表于 2014-6-10 16:12:03 | 显示全部楼层 |阅读模式
最近在研究nginx,整好遇到一个需求就是希望服务器与客户端之间传输内容是加密的,防止中间监听泄露信息,但是去证书服务商那边申请证书又不合算,因为访问服务器的都是内部人士,所以自己给自己颁发证书,忽略掉浏览器的不信任警报即可。下面是颁发证书和配置过程。
首先确保机器上安装了openssl和openssl-devel
  1. #yum install openssl
  2. #yum install openssl-devel
复制代码

然后就是自己颁发证书给自己
  1. #cd /usr/local/nginx/conf
  2. #openssl genrsa -des3 -out server.key 1024
  3. #openssl req -new -key server.key -out server.csr
  4. #openssl rsa -in server.key -out server_nopwd.key
  5. #openssl x509 -req -days 365 -in server.csr -signkey server_nopwd.key -out server.crt
复制代码

至此证书已经生成完毕,下面就是配置nginx
  1. server {
  2.     listen 443;
  3.     ssl on;
  4.     ssl_certificate  /usr/local/nginx/conf/server.crt;
  5.     ssl_certificate_key  /usr/local/nginx/conf/server_nopwd.key;
  6. }
复制代码

然后重启nginx。
提示: 如果出现“[emerg] 10464#0: unknown directive "ssl" in /usr/local/nginx-0.6.32/conf/nginx.conf:74”则说明没有将ssl模块编译进nginx,在configure的时候加上“--with-http_ssl_module”
至此已经完成了https服务器搭建,但如何让浏览器信任自己颁发的证书呢?
今天终于研究捣鼓出来了,只要将之前生成的server.crt文件导入到系统的证书管理器就行了,具体方法:
控制面板 -> Internet选项 -> 内容 -> 发行者 -> 受信任的根证书颁发机构 -> 导入 -》选择server.crt


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

金灿互联专注为企业提供系统整体的网络营销外包服务,包括从营销型网站平台建设、阿里旺铺装修、网站SEO优化推广、B2B平台推广等一站式网络营销服务。已为近1000多家企业提供高品质的网站建设和营销推广服务,帮助客户通过互联网提升业绩、抢占市场、成就品牌。
© 2010-2016 Comsenz Inc. 粤ICP备12054404号-1 Powered by KingCan!X3.2   
快速回复 返回顶部 返回列表