nginx主机配置ssl

1、可以通过浏览器认证的ssl证书
openssl req -new -newkey rsa:2048 -nodes -out server.csr -keyout server.key

在当前目录下会发现server.csr server.key两个文件。

然后提供这两个文件,购买或者向startssl申请免费server.crt证书。

三个文件放在指定目录,如/root下

nginx配置文件例子如下:

server
{
listen 443;
server_name mydomain.com;
index index.html index.htm index.php;
root /web/www/test;
ssl on;
ssl_certificate /root/server.crt;
ssl_certificate_key /root/server.key;
}

重新启动nginx

/usr/local/nginx/sbin/nginx -t
kill -HUP `cat /usr/local/nginx/nginx.pid`

startssl的证书需要添加根证书才可以被firefox信任,需要在配置conf文件前,添加根证书信息到server.crt

wget http://www.startssl.com/certs/ca.pem
wget http://www.startssl.com/certs/sub.class1.server.ca.pem
cat ca.pem sub.class1.server.ca.pem >> server.crt

2、自制证书

openssl genrsa -out server.key 2048
openssl req -new -x509 -key privkey.key -out server.crt -days 1095

nginx的配置同上。

3、强制使用https访问的nginx的conf配置

server
{
listen 443;
listen 80;
server_name servername;
index index.html index.htm index.php;
root /web/test;
ssl on;
ssl_certificate /root/server.crt;
ssl_certificate_key /root/server.key;
error_page 497 “https://$host$uri?$args”;
}

或者
error_page 497 “https://$host$uri$is_args$args”;

Tags: , ,

Friday, April 16th, 2010 网站技术

Leave a Reply