阿里云Nginx配置https实现域名访问项目(图文教程)


Posted in Servers onMarch 31, 2021

第一步:签署第三方可信任的 SSL 证书

证书可以直接在阿里云里面申请免费的ssl证书

阿里云Nginx配置https实现域名访问项目(图文教程)

登录阿里云账号,在上方搜索栏内搜索ssl,点击ssl证书(应用安全)

阿里云Nginx配置https实现域名访问项目(图文教程)

来到这个页面后点击购买证书

阿里云Nginx配置https实现域名访问项目(图文教程)

如图选择免费版ssl证书,点击支付

阿里云Nginx配置https实现域名访问项目(图文教程)

支付完成后跳转到控制台首页,点击证书申请

阿里云Nginx配置https实现域名访问项目(图文教程)

填写完证书申请表单之后点击下一步

阿里云Nginx配置https实现域名访问项目(图文教程)

点击验证显示验证成功后再提交审核

阿里云Nginx配置https实现域名访问项目(图文教程)

审核通过后点击下载按钮

阿里云Nginx配置https实现域名访问项目(图文教程)

选择nginx旁边的下载

阿里云Nginx配置https实现域名访问项目(图文教程)

下载解压后得到一个.key和.pem文件,到这里,我们的证书申请工作已经做完了,下面可以开始配置https了

阿里云Nginx配置https实现域名访问项目(图文教程)

第二步:配置https

1、centos如何安装nginx可以参考这篇博文:https://segmentfault.com/a/1190000018109309
2、安装完毕后,找到nginx.conf所在的目录,我这里的目录为:/etc/nginx
3、在此目录里面新建一个文件夹cert,用来存放密匙文件
4、点击nginx.conf,配置ssl,**注意,我这里是1.16版本的nginx,1.15之前的配置和这个不一样!!**下面是我的配置:

server {
   listen 443 ssl http2; #配置HTTPS的默认访问端口号为443。此处如果未配置HTTPS的默认访问端口,可能会造成Nginx无法启动。Nginx 1.15.0以上版本请使用listen 443 ssl代替listen 443和ssl on。
   server_name www.example.xyz; #将www.certificatestests.com修改为您证书绑定的域名,例如:www.example.com。如果您购买的是通配符域名证书,要修改为通配符域名,例如:*.aliyun.com。
   root html;

   index index.html index.htm;
   ssl_certificate cert/cert.pem; #将domain name.pem替换成您证书的文件名称。
   ssl_certificate_key cert/cert.key; #将domain name.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;  
 }

如果是1.15之前的nginx版本的话,应该这样配置:

listen 443; #配置HTTPS的默认访问端口号为443。此处如果未配置HTTPS的默认访问端口,可能会造成Nginx无法启动。Nginx 1.15.0以上版本请使用listen 443 ssl代替listen 443和ssl on。
   server_name www.example.xyz; #将www.certificatestests.com修改为您证书绑定的域名,例如:www.example.com。如果您购买的是通配符域名证书,要修改为通配符域名,例如:*.aliyun.com。
   root html;
   ssl on;
   index index.html index.htm;
   ssl_certificate cert/cert.pem; #将domain name.pem替换成您证书的文件名称。
   ssl_certificate_key cert/cert.key; #将domain name.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;  
 }

5、配置反向代理,让默认端口(一般是80)代理我们项目的端口8080,也就是说我们可以通过访问80端口来达到访问8080端口的效果

server {
   listen 443 ssl http2; #配置HTTPS的默认访问端口号为443。此处如果未配置HTTPS的默认访问端口,可能会造成Nginx无法启动。Nginx 1.15.0以上版本请使用listen 443 ssl代替listen 443和ssl on。
   server_name www.example.xyz; #将www.certificatestests.com修改为您证书绑定的域名,例如:www.example.com。如果您购买的是通配符域名证书,要修改为通配符域名,例如:*.aliyun.com。
   root html;

   index index.html index.htm;
   ssl_certificate cert/cert.pem; #将domain name.pem替换成您证书的文件名称。
   ssl_certificate_key cert/cert.key; #将domain name.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_pass http://ip:8080; //ip写你自己服务器的ip
  }  
 }

配置完后保存,然后重启nginx

nginx -s reload
 sudo systemctl restart nginx

然后再查看防火墙是否打开,一般是关闭的,关闭的话就不需要打开了。如果是打开状态的话就开启服务器的默认端口(一般是80)和443端口

然后如果是云服务器的话还需要配置安全组,打开服务器管理控制台,点击本地实例安全组

阿里云Nginx配置https实现域名访问项目(图文教程)

点击手动添加或者快速添加,添加默认端口80和443端口进来,保存

阿里云Nginx配置https实现域名访问项目(图文教程)

下面就是配置域名解析了,来到域名控制台,点击解析

阿里云Nginx配置https实现域名访问项目(图文教程)

点击添加记录

阿里云Nginx配置https实现域名访问项目(图文教程)

然后把你的服务器的公网ip地址解析进来,点击确认

阿里云Nginx配置https实现域名访问项目(图文教程)

解析完毕后等10分钟差不多就可以去访问域名了,访问项目的swagger文档,可以看见已经变成https了(这里需要手动敲https才行)

阿里云Nginx配置https实现域名访问项目(图文教程)

可以看到成功访问项目

参考链接 :

Nginx配置https实现域名访问项目 : https://www.jianshu.com/p/e7b9622a63ed

到此这篇关于阿里云Nginx配置https实现域名访问项目(图文教程)的文章就介绍到这了,更多相关Nginx配置https域名访问内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Servers 相关文章推荐
nginx基于域名,端口,不同IP的虚拟主机设置的实现
Mar 31 Servers
Apache Calcite 实现方言转换的代码
Apr 24 Servers
Shell脚本一键安装Nginx服务自定义Nginx版本
Mar 20 Servers
Nginx隐藏式跳转(浏览器URL跳转后保持不变)
Apr 07 Servers
nginx location 带斜杠【 / 】与不带的区别
Apr 13 Servers
nginx搭建NFS网络文件系统
Apr 14 Servers
Windows server 2012搭建FTP服务器
Apr 29 Servers
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
Jun 01 Servers
windows server 2012安装FTP并配置被动模式指定开放端口
Jun 10 Servers
Nginx开源可视化配置工具NginxConfig使用教程
Jun 21 Servers
在windows server 2012 r2中安装mysql的详细步骤
Jul 23 Servers
Tomcat安装使用及部署Web项目的3种方法汇总
Aug 14 Servers
详解Nginx 工作原理
fastdfs+nginx集群搭建的实现
Nginx域名转发https访问的实现
Mar 31 #Servers
Nginx本地目录映射实现代码实例
Mar 31 #Servers
nginx 防盗链防爬虫配置详解
Mar 31 #Servers
Nginx服务器如何设置url链接
nginx搭建图片服务器的过程详解(root和alias的区别)
Mar 31 #Servers
You might like
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
2014/01/22 PHP
FastCGI 进程意外退出造成500错误
2015/07/26 PHP
PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
2016/01/27 PHP
Linux下 php7安装redis的方法
2018/11/01 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
PHP基于phpqrcode类生成二维码的方法示例详解
2020/08/07 PHP
不间断滚动JS打包类,基本可以实现所有的滚动效果,太强了
2007/12/08 Javascript
Extjs学习过程中新手容易碰到的低级错误积累
2010/02/11 Javascript
讨论html与javascript在浏览器中的加载顺序问题
2013/11/27 Javascript
js使用eval解析json(js中使用json)
2014/01/17 Javascript
node.js集成百度UE编辑器
2015/02/05 Javascript
浅谈jquery上下滑动的注意事项
2016/10/13 Javascript
vue.js学习之递归组件
2016/12/13 Javascript
nodejs socket实现的服务端和客户端功能示例
2017/06/02 NodeJs
在Vue项目中使用d3.js的实例代码
2018/05/01 Javascript
浅谈webpack SplitChunksPlugin实用指南
2018/09/17 Javascript
vue使用pdfjs显示PDF可复制的实现方法
2018/12/14 Javascript
js计算两个时间差 天 时 分 秒 毫秒的代码
2019/05/21 Javascript
Python字典简介以及用法详解
2016/11/15 Python
Python通过命令开启http.server服务器的方法
2017/11/04 Python
详解Django+Uwsgi+Nginx的生产环境部署
2018/06/25 Python
python PyQt5/Pyside2 按钮右击菜单实例代码
2019/08/17 Python
python golang中grpc 使用示例代码详解
2020/06/03 Python
keras使用Sequence类调用大规模数据集进行训练的实现
2020/06/22 Python
Django静态文件加载失败解决方案
2020/08/26 Python
python3通过subprocess模块调用脚本并和脚本交互的操作
2020/12/05 Python
Top Villas美国:豪华别墅出租和度假屋
2018/07/10 全球购物
英国和世界各地预订便宜的酒店:LateRooms.com
2019/05/05 全球购物
军训自我鉴定100字
2014/02/13 职场文书
正风肃纪剖析材料
2014/02/18 职场文书
主管会计岗位职责
2014/03/13 职场文书
三好学生演讲稿范文
2014/04/26 职场文书
教师党员群众路线教育实践活动心得体会
2014/11/04 职场文书
2014年档案室工作总结
2014/12/01 职场文书
2015年度酒店客房部工作总结
2015/05/25 职场文书