zoukankan      html  css  js  c++  java
  • ubuntu安装nginx和设置网站https访问

    安装nginx

    在控制台 输入

    sudo apt-get install nginx
    

    等待安装成功之后。可以打开浏览器。输入你的域名或者ip地址会出现"Welcome to nginx!"页面。表示安装成功。
    Alt text

    申请SSL证书

    SSL简介

      SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。
      现在因为非https网站会被谷歌等一些浏览器报红。提示此网站不安全。所有我们有必要给我们的域名申请一个ssl证书。
    ssl证书现在分为3种:

    • 名型SSL证书(DV SSL) ,即只对域名的所有者(一般是域名管理员邮箱,比如admin@hotmail.com)进行在线检查,具体是发送验证邮件给域名管理员或以该域名结尾的邮箱至于该域名的管理员是真实注册的单位还是另有其人,就不得而知了。
    • 企业型 SSL 证书(OV SSL) ,是要购买者提交组织机构资料和单位授权信等在官方注册的凭证,认证机构在签发SSL证书前不仅仅要检验域名所有权,还必须对这些资料的真实合法性进行多方查验,只有通过验证的才能颁发SSL证书。
    • 增强型 SSL 证书(EV SSL) ,与其他SSL证书一样,都是基于SSL/TLS安全协议,都是用于网站的身份验证和信息在网上的传输加密。它跟普通SSL证书的区别也是明显的,安全浏览器的地址栏变绿,如果是不受信的SSL证书则拒绝显示,如果是钓鱼网站,地址栏则会变成红色,以警示用户。

    安装 Certbot

      Certbot简介可以访问其官网查看。
      Certbot官网https://certbot.eff.org/#ubuntuxenial-nginx 选择自己对于的系统版本。就会生成对于的安装命令。
    Alt text

    下面以ubuntu 16.04为例。

    $ sudo apt-get update
    $ sudo apt-get install software-properties-common
    $ sudo add-apt-repository ppa:certbot/certbot
    $ sudo apt-get update
    $ sudo apt-get install python-certbot-nginx 
    

    获取SSL

    $ sudo certbot --authenticator webroot --installer nginx
    

    输入以上命令。如果出现下图表示SSL获取成功。可以复制证书路径。后面有用。
    Alt text

    自动更新

    我们单次申请的免费证书有效时间是90天。所有我们要设置免费续费。这样就可以一直免费试用下去了。

    $ sudo certbot renew --dry-run
    

    nginx配置

    我们已经通过certbot获取ssl证书。现在就开始来为我们的网站配置https访问。
    编辑nginx配置文件。

        vi /etc/nginx/sites-available/default
    

    新增一个ssl serevr,配置如下

        server {
                listen 443;
                server_name cn4.retailstore365.com;
                root html;
                index index.html index.htm;
                ssl on;
                ssl_certificate /etc/letsencrypt/live/xxxxx/fullchain.pem;
                ssl_certificate_key /etc/letsencrypt/live/xxxxx/privkey.pem;
                ssl_session_timeout 5m;
                ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
                ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
                ssl_prefer_server_ciphers on;
                location / {
                        try_files $uri $uri/ =404;
                } }
    

    xxxxx请替换成自己的域名。或者直接复制刚刚申请ssl成功之后的证书地址。
    然后重启nginx

    sudo service nginx reload
    

    然后再次访问你的你的域名或者ip地址:https://xxxxxxx.com/会看到前面的地址变成绿色了。表示ssl部署成功。
    Alt text

    nginx常用命令

    启动:sudo nginx
    重启:sudo service nginx reload
    关闭:sudo nginx -s stop
    查看版本:sudo nginx -v
    检查配置文件:sudo nginx -t

  • 相关阅读:
    2016/10/18 数据库设计三大范式
    2016/10/13 Oracle COALESCE()
    2016/10/13 oracle中的round()
    2016/10/10 数据、数据元素和数据项
    2016/09/29 Maven简介
    2016/09/29 瀑布模型开发和敏捷开发
    python2和python3中的类
    使用JQuery完成页面定时弹出广告
    JQuery入门+js库文件分享
    使用JavaScript完成控制下拉列表左右选择
  • 原文地址:https://www.cnblogs.com/pass245939319/p/8350570.html
Copyright © 2011-2022 走看看