使用nginx搭建https服务器

来源:互联网 发布:手机淘宝模块怎么设置 编辑:程序博客网 时间:2024/05/17 00:14

首先确保机器上安装了openssl和openssl-devel

#yum install openssl#yum install openssl-devel

然后就是自己颁发证书给自己

#cd /usr/local/nginx/conf#openssl genrsa -des3 -out server.key 1024#openssl req -new -key server.key -out server.csr#openssl rsa -in server.key -out server_nopwd.key#openssl x509 -req -days 365 -in server.csr -signkey server_nopwd.key -out server.crt

至此证书已经生成完毕,下面就是配置nginx

server {    listen 443;    ssl on;    ssl_certificate  /usr/local/nginx/conf/server.crt;    ssl_certificate_key  /usr/local/nginx/conf/server_nopwd.key;}

然后重启nginx即可。

ps: 如果出现“[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


免费申请SSL证书步骤

https://www.trustasia.com/tools/csr-generate/

首先生成key 和CSR,保存server.key和server.csr 

server.csr内容用来申请SSL证书时粘贴上去即可

再打开https://www.trustasia.com/order/ssl/?product=FreeSSL

申请免费1个月SSL证书

填写所有信息,注,填写的域名必须要有域名管理员邮箱的权限,因为申请SSL证书需要域名管理者授权

审核通过会收到证书邮件到申请的所用的邮箱中,复制保存为server.crt即可

nginx设置步骤,同上