美文网首页我爱编程
Nginx虚拟主机设置SSL

Nginx虚拟主机设置SSL

作者: Happyhome | 来源:发表于2018-04-08 14:15 被阅读0次

    Nginx虚拟主机设置SSL

    1、下载邮件附件里的www_vpser_net.zip,上传到/usr/local/nginx/conf 下面。

    2017年2月update:压缩包内文件有些变化,变化后只有两个文件:www_vpser_net.crt和www_vpser_net.ca-bundle。

    合并方法:cat www_vpser_net.crt www_vpser_net.ca-bundle > www.vpser.net.crt

    因为这是COMODO的证书,还需要一些合并操作,方法如下:

    cat www_vpser_net.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt > www.vpser.net.crt

    COMODO的证书不要将AddTrustExternalCARoot.crt合并到www.vpser.net.crt的证书里,要不然ssllabs测试时会提示:Chain issues - Contains anchor

    2、Nginx虚拟主机添加SSL

    具体完整配置文件如下:

    server

    {

    listen 443 ssl;   //如果需要spdy也可以加上,lnmp1.2及其后版本都默认支持spdy,lnmp1.3 nginx 1.9.5以上版本默认支持http2

    server_name www.vpser.net vpser.net;     //这里是你的域名

    index index.html index.htm index.php default.html default.htm default.php;

    root /home/wwwroot/www.vpser.net;            //网站目录

    ssl_certificate /usr/local/nginx/conf/www.vpser.net.crt;    //前面邮件收到zip文件合并操作后的文件

    ssl_certificate_key /usr/local/nginx/conf/www.vpser.net.key;   //前面生成的密钥

    ssl_ciphers "EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5";

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    ssl_prefer_server_ciphers on;

    ssl_session_cache shared:SSL:10m;

    include wordpress.conf;  //这个是伪静态根据自己的需求改成其他或删除

    #error_page 404 /404.html;

    location ~ [^/]\.php(/|$)

    {

    # comment try_files $uri =404; to enable pathinfo

    try_files $uri =404;

    fastcgi_pass unix:/tmp/php-cgi.sock;

    fastcgi_index index.php;

    include fastcgi.conf;     //lnmp 1.0及之前版本替换为include fcgi.conf;

    #include pathinfo.conf;

    }

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

    {

    expires 30d;

    }

    location ~ .*\.(js|css)?$

    {

    expires 12h;

    }

    access_log off;

    }

    将以上内容按照自己的配置修改,LNMP一键安装包用户添加到/usr/local/nginx/conf/vhost/域名.conf 文件最后面,其他用户按实际情况而定,一般加在nginx.conf 里任意一个server {}的后面即可。

    然后执行/usr/local/nginx/sbin/nginx -t 检查配置是否有错误,执行/usr/local/nginx/sbin/nginx -s reload 重新载入配置文件使其生效。

    li88-99:/usr/local/nginx/conf# /usr/local/nginx/sbin/nginx -t

    the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

    configuration file /usr/local/nginx/conf/nginx.conf test is successful

    li88-99:/usr/local/nginx/conf#/usr/local/nginx/sbin/nginx -s reload

    另外如果有iptables之类的防火墙需要将443端口加入运行的规则里。

    如果想让http的访问都调到https上,不再允许http访问的话可以将原来80的虚拟主机配置替换为如下配置:

    server {

    listen 80;

    server_name www.vpser.net;

    return 301 https://www.vpser.net$request_uri;

    }

    相关文章

      网友评论

        本文标题:Nginx虚拟主机设置SSL

        本文链接:https://www.haomeiwen.com/subject/ifnphftx.html