之前写过一篇关于apache的多https配置文章,你可以点这里查看。
今天来说一个关于nginx的多https虚拟主机的配置,配置文件非常简单和这里的http配置差不多的,我就以这篇文章作为基础来搭建基于nginx的多https虚拟主机。
关于怎么生成证书请看这里或者可以在线生成ssl的csr在这里。
为了不浪费大家的阅读时间,我就直接将我的配置文件贴上来给大家参考《i.markdream.conf》
#301跳转 将80请求全部转发到https server { listen 80; server_name i.markdream.com; location / { rewrite (.*) https://i.markdream.com$1 permanent; } } server { listen 443 ssl; server_name i.markdream.com; root /home/vhost/i.markdream.com; ssl on; #这是你的证书目录 ssl_certificate /usr/loacl/nginx/ssl-crt/i.markdream.crt; #这是你的证书key目录 ssl_certificate_key /usr/loacl/nginx/ssl-crt/i.markdream.key; location / { index index.html index.htm index.php; } #anythings for you... }
重要的我已经在配置文件中详细注明了,请注意按照你的实际需要进行配置就能找到你的证书了。效果就是不管使用N个https每个域名都能找到它所对应的ssl证书(也就是实现单台IP实现对应多证书的要求),好请观看令人愉悦的demo。
demo演示1:https://i.markdream.com
demo演示2:https://svn.markdream.com
2015年05月08日更新
有时候我们可能既需要http能访问,https也能访问,那么我们可以这么配置conf文件
server { listen 80; listen 443 ssl; server_name api.markdream.com; ssl_certificate /path/to/ssl/api.crt; ssl_certificate_key /path/to/ssl/api.key; root /path/to/api; }
demo演示3:HTTP:http://api.markdream.com/jquery.min.js HTTPS:https://api.markdream.com/jquery.min.js
好了,你现在可以实际操作下。
《 “nginx配置多个https” 》 有 5 条评论
你试一下IE6,IE6这样访问是有问题的,提示有一个域名的证书不对,这个问题困扰我很久了。
是我的demo还是?
博主,多ip如何配置那?
我配置完,访问我的项目,怎么都都弹出下载框