温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Nginx配置https实现域名访问项目

发布时间:2020-10-29 16:52:46 来源:亿速云 阅读:313 作者:Leah 栏目:开发技术

本篇文章给大家分享的是有关Nginx配置https实现域名访问项目,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

第一步:签署第三方可信任的 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实现域名访问项目,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI