nginx下https配置(Nginx配置SSL证书https)

在nginx下如何配置部署https网站呢?给大家分享下在nginx下配置https网站的步骤。

一、ssh登陆到服务器上,终端输入以下命令,使用openssl生成RSA密钥及证书。

# 生成一个RSA密钥

$ openssl genrsa -des3 -out 33iq.key 1024

# 拷贝一个不需要输入密码的密钥文件

$ openssl rsa -in 33iq.key -out 33iq_nopass.key

# 生成一个证书请求

$ openssl req -new -key 33iq.key -out 33iq.csr

# 自己签发证书

$ openssl x509 -req -days 365 -in 33iq.csr -signkey 33iq.key -out 33iq.crt
第3个命令是生成证书请求,会提示输入省份、城市、域名信息等,重要的是,email一定要是你的域名后缀的。这样就有一个 csr 文件了,提交给 ssl 提供商的时候就是这个 csr 文件。当然我这里并没有向证书提供商申请,而是在第4步自己签发了证书。

nginx下https配置(Nginx配置SSL证书部署HTTPS网站)

二、编辑配置文件nginx.conf,给站点加上HTTPS协议

server {

server_name YOUR_DOMAINNAME_HERE;

listen 443;

ssl on;

ssl_certificate /usr/local/nginx/conf/33iq.crt;

ssl_certificate_key /usr/local/nginx/conf/33iq_nopass.key;

# 若ssl_certificate_key使用33iq.key,则每次启动Nginx服务器都要求输入key的密码。

}
重启Nginx后即可通过https访问网站了。

自行颁发的SSL证书能够实现加密传输功能,但浏览器并不信任,会出现以下提示:

nginx配置ssl 安全证书

原文:http://www.blogjava.net/ivanwan/archive/2012/12/11/392754.html