详解阿里云LINUX服务器配置HTTPS(NGINX)

 更新时间:2017年7月6日 23:16  点击:2128

背景说明

服务器为阿里云 ECS,操作系统为 CentOS 6.5。

部署配置说明

第一步,安装nginx

之所以要先安装 nginx,是因为下面配置域名解析的时候可以直接在浏览器看到效果,当然了,先配置域名,然后 ping 一下也是可以的

下载Nginx源码包,解压源码包,进入解压后的目录,编译配置,命令如下:

./configure --prefix=/usr/local/nginx --with-http_ssl_module

以上命令将nginx安装到usr/local/nginx目录下,并启动ssl功能。事先确保服务器已安装open-ssl包,如没安装可用如下命令在线安装:

yum -y install openssl openssl-devel,除此之外还需要PCRE、zlib。

然后执行make  && make install命令开始编译安装,直到提示安装成功即可。可到/usr/local/nginx/sbin目录下输入./nginx命令,即可以默认配置文件启动,如果需要指定配置文件,则用如下命令:

./nginx -t -c /usr/local/data/my-nginx.conf  ,检查配置文件并指定一个配置文件。

安装过程中可能会提示缺少其它依赖包,根据提示安装即可。

如果不幸的是,之前已经安装了nginx,但是没有编译ssl模块,那可以根据这篇文章,重新将ssl模块编译进去。

启动之后,如果不出意外,可以访问服务器,看到 nginx 默认页面。

第二步,申请及解析域名

为什么要申请域名,这就不多说了,网站想要外部访问,总得有个域名吧,难不成直接用 IP 访问吗。就算你非得用 IP访问,那对不起,下面配置 HTTPS证书的时候需要填写域名。
登录阿里云-万网,查询你要注册的域名,如果没有被注册的话, 可以直接购买,好的域名早就被域名倒手或者注册商自己抢注了,一般的域名,比如以公司名称、产品名称全拼、缩写的域名,一般是不会有人注册,这样的域名也相对便宜,基本一年不会过百的。 

购买完域名后,需要完成一系列相关信息的填写,可按提示完成即可。然后进行域名解析

进入云解析,这里会看到所具有的万网域名,选中一个域名,点击下方的“添加解析”按钮。

跳转到解析设置页面,其中记录类型默认为 A 即可;

主机记录如果是二级域名,例如fengzheng.pub ,这里要填写www,如果是三级域名,例如api.fengzheng.pub,这里则要填api;

记录值即对应的服务器 IP,点击添加即可。一般是一分钟内生效。

通过刚刚配置好的解析,例如 www.fengzheng.pub 即可访问这个域名指向的服务器。第一步安装了 nginx ,那么现在访问这个域名,应该会出现 nginx 默认页面。如果提示 DNS 解析有问题,可能是本地或 DNS 服务商有缓存,清除缓存或等一段时间后再尝试。

 第三步 申请 SSL 证书

进入阿里云控制台,“安全(云盾)”下的“证书服务”,点击购买证书,选择免费型 DV SSL,按提示走就可以,反正不用花钱的。

接下来到我的订单页面,看到证书状态是“待完成”,点击“补全”链接

接下来要求输入一个域名,因为免费证书只支持一个域名,这里可以写你申请的域名或者子域名也可以,例如a.com或者api.a.com。

之后填写个人信息,这里有个域名验证类型,分为DNS验证和文件验证,具体验证方式可查看阿里云帮助手册。

最后到上传信息这一步,一般选择系统生成 CSR。

这里选择的是 DNS 验证方式,点击进度按钮,会弹出提示框,按提示框中的操作添加一条DNS记录。(文件验证方式会要求将一个html文件放到服务器指定的目录下,然后通过url访问到即可验证成功)

直到我的订单页面显示证书状态为已签发,即表示证书申请成功。

再之后会在我的订单列表中,操作栏看到下载按钮,点击按钮,跳转到证书下载页面,这里提供了nginx、Apache、Tomcat等证书下载

这里选择 nginx 证书。

第四步 在 nginx 中配置 HTTPS

将下载下来的证书解压,里面有两个文件一个是.key,另一个是.pem,把这两个文件传到服务器的一个目录中。

找到 nginx 配置文件,打开编辑,加入如下代码:

server {

   listen    443 ssl;

   server_name localhost;

   ssl on;

 

   ssl_certificate   /root/data/cert/test.pem;

   ssl_certificate_key /root/data/test.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 ^~/test {

      proxy_redirect off;

      proxy_set_header Host $host;

      proxy_set_header X-Real-IP $remote_addr;

      proxy_set_header X-Forwarded-Proto https;

      proxy_pass http://127.0.0.1:8080/test;

   } 

 }  

最后重启 nginx 即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

[!--infotagslink--]

相关文章

  • 在linux中使用包管理器安装node.js

    网上文章中,在linux下安装node.js都是使用源码编译,其实node的github上已经提供了各个系统下使用各自的包管理器(package manager)安装node.js的方法。...2015-03-15
  • Linux中grep命令详解

    grep命令是Linux系统中最重要的命令之一,功能是从文本文件或管道数据流中筛选匹配的行和数据,如果再配合正则表达式,功能十分强大,是Linux运维人员必备的命令,这篇文章主要介绍了Linux中grep详解,需要的朋友可以参考下...2023-02-15
  • Linux安装Pytorch1.8GPU(CUDA11.1)的实现

    这篇文章主要介绍了Linux安装Pytorch1.8GPU(CUDA11.1)的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-25
  • 详解Linux环境变量配置全攻略

    这篇文章主要介绍了Linux环境变量配置全攻略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-03-31
  • Linux 下使用shell脚本定时维护数据库的案例

    这篇文章主要介绍了Linux 下使用shell脚本定时维护数据库,本文通过案例分析给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
  • linux服务器快速卸载安装node环境(简单上手)

    这篇文章主要介绍了linux服务器快速卸载安装node环境(简单上手),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-22
  • 详解nginx同一端口监听多个域名和同时监听http与https

    这篇文章主要介绍了详解nginx同一端口监听多个域名和同时监听http与https的相关资料,需要的朋友可以参考下...2017-07-06
  • Linux下升级安装python3.8并配置pip及yum的教程

    这篇文章主要介绍了Linux下升级安装python3.8并配置pip及yum的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-05-02
  • Linux下安装mysql-8.0.20的教程详解

    这篇文章主要介绍了Linux下安装mysql8.0.20的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-05-25
  • linux下源码安装mysql5.6.20教程

    这篇文章主要为大家详细介绍了linux下源码安装mysql5.6.20教程的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-01-15
  • Linux zabbix agent部署及配置方法详解

    这篇文章主要介绍了Linux zabbix agent部署及配置方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-08-21
  • Linux下统计当前文件夹下的文件个数、目录个数

    这篇文章主要介绍了Linux下统计当前文件夹下的文件个数、目录个数,本文使用ls命令配合管理、grep命令实现统计需求,需要的朋友可以参考下...2020-07-11
  • Linux环境下nginx搭建简易图片服务器

    这篇文章主要介绍了Linux环境下nginx搭建简易图片服务器,需要的朋友可以参考下...2016-01-27
  • Linux CentOS MySQL数据库安装配置教程

    这篇文章主要为大家详细介绍了Linux CentOS MySQL数据库的安装配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-05-19
  • linux网络配置工具的使用

    这篇文章主要介绍了linux网络配置工具的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-03-31
  • Linux下semop等待信号时出现Interrupted System Call错误(EINTR)解决方法

    本篇文章是对在Linux下semop等待信号时出现Interrupted System Call错误(EINTR)的解决方法进行了详细的分析介绍,需要的朋友参考下...2020-04-25
  • Linux下常用压缩格式的压缩与解压方法详解

    这篇文章主要介绍了Linux下常用压缩格式的压缩与解压方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
  • Debian7编译安装nginx简明教程

    这篇文章主要介绍了Debian7编译安装nginx简明教程,本文直接给出操作命令和步骤,需要的朋友可以参考下...2016-01-27
  • Fedora14 Linux系统安装Golang开发环境笔记

    这篇文章主要介绍了Fedora14 Linux系统安装Golang开发环境笔记,本文讲解了2种安装方法,需要的朋友可以参考下...2020-05-01
  • linux上mysql安装详细教程

    这篇文章主要为大家详细介绍了linux上mysql安装详细教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-02-08