美文网首页
Nginx环境下搭建HTTPS

Nginx环境下搭建HTTPS

作者: 海里的沙丁鱼 | 来源:发表于2018-01-15 18:33 被阅读0次

本服务器使用的环境是nginx,系统是Ubuntu,使用的阿里云的服务器,所以在阿里云中下载证书。 当然你还可以去CA认证服务机构官网或七牛云存储中下载证书

什么,你的服务器是LAMP环境怎样配置HTTPS,请转战到博主的另一篇博文吧,地址是Apache环境下搭建HTTPS环境

一:在阿里云官网下载CA证书

  • 1、在阿里云官网里的云盾中CA服务证书选项里进行下载证书


    刘滔 CA证书下载入口
  • 2、选择并购买证书,本人选的是DV SSL,1年内保护一个域名

刘滔 DV SSL

如图,选择“立即购买”

立即购买
  • 3.支付成功后,去云盾控制台-->选择证书服务-->补全证书信息-->绑定一个域名(如www.mydomian.com)-->填写个人信息-->系统生成CSR,点击创建按钮-->提交审核

    1. 选择“补全”


      补全
    1. 填写你的域名


      域名
  • 3)系统生成CSR,点击创建按钮,提交审核


  • 4.提交审核后,可以在我的证书出看到证书的详情。这时候点击“进度”就得到一条主机记录和主机记录值。需在该域名下解析一条记录。


    4.png
  • 5.到指定域名(如www.domain.com)下解析DNS,记录类型选择“CNAME“,根据上一步得到的两个值分别填写后进行解析。

  • 6.下载证书到本地后,上传到自己的服务器上。因为我的服务器是Apache,所以我对应下载的是针对apache服务器的证书。当然你也可以选择nginx、tomcat或其他的证书。在证书下载页,有关于安装证书及如何配置ssl的说明。


第二步:配置服务器
  • 1.上传下载的证书for Nginx到服务器,新建一个新命令窗口用scp上传,并解压
  root@laravel:~# scp /.../ssl.zip  root@120.**.***.***:/etcinx/ssl/yourdomain.com.ssl/
  • 2.打开Nginx安装目录下的站点目录sites-avaliable
  root@laravel:~# cd /etcinx/sites-available
  • 3.打开你要配置的站点,监听443端口,将其修改为:
server {
    listen 443;
    server_name www.yourdomain.com;
    ssl on;
    root html;
    index index.html index.htm;
    ssl_certificate   /etcinx/ssl/yourdomain.com.ssl/21******.pem;
    ssl_certificate_key  /etcinx/ssl/yourdomain.com.ssl/21******.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
        root html;
        index index.html index.htm;
    }
}

保存并修改,这里开启了ssl;并且在这里配置域名,将server_name配置为www.yourdomain.comssl_certificate配置证书.pem文件的绝对路径,ssl_certificate_key配置证书“.key”的绝对路径。重启nginx服务,就可以带上https的域名访问了。

  root@laravel:~# nginx -s reload
第三步:nginx反向代理

因为博主将博客项目放置在服务器的某个端口下(这里假设是0055端口),所以就需要将0055端口反向代理到443端口,通过https域名访问我的博客。那么如何实现反向代理呢,将上一步监听443端口代码修改如下:

server {
    listen 443;
    server_name www.yourdomain.com;
    ssl on;
    root html;
    index index.html index.htm;
    ssl_certificate   /etcinx/ssl/yourdomain.com.ssl/21******.pem;
    ssl_certificate_key  /etcinx/ssl/yourdomain.com.ssl/21******.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host      $http_host;
        proxy_pass http://127.0.0.1:0055;
    }
}
第三步:nginx重定向

当你想要随意输入域名都能跳转到https下,那么就需要对域名进行重定向配置,这里,我们将80端口和443端口进行重定向,代码如下:

server {
    listen 80;
    server_name www.yourdomain.com yourdomain.com;

    rewrite ^(.*) https://www.yourdomain.com$1 permanent;
}
server {
    listen  443;
    server_name www.yourdomain.com yourdomain.com;

    rewrite ^(.*) https://www.yourdomain.com$1 permanent;
}

那么,为什么需要特别地对80和443端口重定向呢?HTTPS实际上就是SSL over HTTP,它使用默认端口443,而不是像HTTP那样使用端口80来和TCP/IP进行通信。
当我们在浏览器输入www.yourdomain.comyourdomain.com时,nginx会将此域名重定向到https下,通过https访问到443端口。又因为443端口反向代理了0055端口。因此最后属于此域名的任何形式都能访问到0055端口下对应的项目。所以博主通过本篇博文的操作,就可以在浏览器地址栏里输入特定域名的任何形式访问到我的博客项目了,并且还是加密过得网站。

原文出处

相关文章

  • Nginx环境下搭建HTTPS

    本服务器使用的环境是nginx,系统是Ubuntu,使用的阿里云的服务器,所以在阿里云中下载证书。 当然你还可以去...

  • nginx搭建https环境

    1、首先nginx必须支持ssl模块 ./configure --prefix=/usr/local/nginx ...

  • ubuntu

    环境搭建 ubuntu18.04.1下快速搭建LNMP环境(PHP7.2.5+MySql5.7+Nginx1.14...

  • Nginx环境下配置HTTPS

    现在,你应该能在访问https://feiyang.li/ 的时候,在地址栏里看到一个漂亮的小绿锁作为肤浅的人,为...

  • Nginx环境下配置Https

    一:什么是Https SSL(Security Socket Layer)全称是加密套接字协议层,它位于H...

  • Centos 7 LNMP环境配置

    手动搭建 LNMP环境 LNMP 环境是指在 Linux 系统下,由 Nginx + MySQL/MariaDB ...

  • 关于nginx的https环境搭建

    https://common-buy.aliyun.com/?spm=5176.7968328.1120760.1...

  • 【NGINX入门】12.OpenResty(Nginx+Lua)

    1. 摘要 本文介绍以下内容:OpenResty简介Nginx优点Lua基础学习环境搭建window下环境搭建Li...

  • Apache环境下搭建HTTPS

    本服务器使用的环境是apache,系统是Ubuntu 使用的阿里云的服务器,所以在阿里云中下载证书。 当然你还可以...

  • linux下搭建nginx+php+mysql环境

    linux下搭建nginx+php+mysql环境 搭建前准备: VMware 虚拟机 Centos 6.1 64...

网友评论

      本文标题:Nginx环境下搭建HTTPS

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