如果出现“[emerg] 10464#0: unknown directive "ssl" in /app/nginx/conf/nginx.conf:74”则说明没有将ssl模块编译进nginx,在configure的时候加上“--with-http_ssl_module”即可^^
这样生成的证书,访问都会提示安全认证,如何让浏览器信任自己颁发的证书呢?
控制面板 -> Internet选项 -> 内容 -> 发行者 -> 受信任的根证书颁发机构 -> 导入 -》选择server.crt
如果要不出现这样的提示,需要到第三方ssl证书提供商处购买。具体申请过程
可以询问证书商。
--------------------------------------------------------------------------------
实现https和http共存访问
上面的配置后只能通过https访问,下面的配置实现https和http共存。
[root@localhost conf]# vim nginx.conf
server {
#指定虚拟主机的服务端口
listen 80;
listen 443 ssl;
#指定IP地址或者域名
server_name pvbutler.blog.51cto.com;
#ssl on; #这行一定要注释掉
ssl_certificate /app/nginx/conf/server.crt;
ssl_certificate_key /app/nginx/conf/server.key;
#设定本虚拟主机的访问日志
access_log /app/nginx/logs/access_fund.log fund;
[root@localhost conf]# service nginx restart
更多Nginx相关教程见以下内容:
CentOS 6.2实战部署Nginx+MySQL+PHP
搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程
CentOS 6.3下配置Nginx加载ngx_pagespeed模块
Ubuntu 16.04 LTS 上安装 Nginx、MariaDB 和 HHVM 运行 WordPress