• 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

  • 相关阅读:
    centos7系统初始化
    瀑布流无限加载infinitescroll插件与masonry插件使用
    网页前端导出CSV,Excel格式文件
    js添加收藏夹
    Fiddler修改http请求响应简单实例
    Nodejs的Gruntjs使用一则
    Jquery插件validate使用一则
    PostgreSQL操作-psql基本命令
    SSH连接时出现Host key verification failed的原因及解决方法以及ssh-keygen命令的用法
    在ubuntu20.04上设置python2为默认方式
  • 原文地址:https://www.cnblogs.com/pass245939319/p/8350570.html
Copyright © 2020-2023  润新知