开发者社区> yuanfan_2012> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

CentOS7下yum安装Nginx并启用https

简介: CentOS7下yum安装Nginx并启用https
+关注继续查看

640.jpg

640.png



一、设置CentOS7的yum源及EPEL yum源


EPEL (Extra Packages for Enterprise Linux) 是由 Fedora Special Interest Group 为企业 Linux 创建、维护和管理的一个高质量附加包集合适用于但不仅限于 Red Hat Enterprise Linux (RHEL), CentOS, Scientific Linux (SL), Oracle Linux (OL)


wget -O /etc/yum.repos.d/CentOS-Base.repo


http://mirrors.cloud.tencent.com/repo/centos7_base.repo


wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo


640.png


更新缓存

yum clean allyum makecache


640.png


二、安装nginx


yum install nginx

640.png


三、设置服务开机自启动并启动nginx服务


systemctl enable nginx

systemctl start nginx


640.png

四、浏览器进行访问验证nginx服务是否正常运行

640.png


五、也可登录登录后台查询nginx访问日志


640.png


六、启用https需要申请ssl证书文件


关于https证书的介绍可以参考视频介绍

https://cloud.tencent.com/edu/learning/quick-play/1837-20953?auto=1&source=gw.pro.media

HTTPS加密的原理可以如下文章

https://mp.weixin.qq.com/s/lTS1NPWCEpus3TdnltGZ3Q

介绍两种申请ssl证书文件的方式


1)可以通过腾讯云控制台上免费申请ssl证书


640.png


2)使用openssl自签名生成证书

[root@VM_Server ~]# cd /etc/nginx/
[root@VM_Server nginx]# mkdir ssl
[root@VM_Server nginx]# cd ssl

1. 生成server.key  


openssl genrsa -aes256 -out server.key 2048


640.png


2、生成无密码的server.key


openssl rsa -in server.key -out server.key


640.png


3、创建服务器证书的申请文件 server.csr


openssl req -new -key server.key -out server.csr


依次输入国家、省份、城市、公司、部门及邮箱


640.png

4、生成crt证书文件server.crt


openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650

或者(openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt)

640.png


5、编辑 Nginx 配置文件


例如修改http端口为81


配置示例

 server {
        listen       81 default_server;
        listen       [::]:81 default_server;
        listen       443 ssl http2 default_server;
        listen       [::]:443 ssl http2 default_server;
        server_name  _;
        root         /usr/share/nginx/html;
        ssl_certificate "/etc/nginx/ssl/server.crt";
        ssl_certificate_key "/etc/nginx/ssl/server.key";
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;
        location / {
        }
        error_page 404 /404.html;
            location = /40x.html {
        }
        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
}

640.png


并检查nginx.conf的语法是否有错误


nginx -t -c /etc/nginx/nginx.conf

640.png

6、重启nginx服务并验证https是否可以正常访问

640.png


7、验证可以正常访问https


Chrome浏览器可以查看证书相关信息

640.png


640.png


总结:自签证书还可以使用certbot制作SSL证书,具体操作可以参考


https://cloud.tencent.com/developer/labs/lab/10478

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Nginx:配置HTTPS网址加上绿锁头
Nginx:配置HTTPS网址加上绿锁头
0 0
深入浅出学习透析Nginx服务器的基本原理和配置指南「Https安全控制篇」
深入浅出学习透析Nginx服务器的基本原理和配置指南「Https安全控制篇」
0 0
nginx配置https
nginx配置https
0 0
Nginx 配置HTTPS证书提示报错
Nginx 配置HTTPS证书提示报错
0 0
nginx部署之https访问按照不同路径访问不同项目
上一篇介绍过如何在一个nginx上使用同一个端口部署多个web项目进行访问.具体内容可以参考:nginx支持一个端口访问多个前端项目(http以及https).
0 0
nginx支持一个端口访问多个前端项目(http以及https)
最近做项目结构优化,前端项目都是部署在nginx上,想实现同一个端口可以访问多个前端项目.
0 0
nginx中如何开启https访问功能
前端部署项目需要https支持,将原有的http访问方式进行升级,参考过其他同学的博客记录,记录一下自己遇到的坑,希望对有同样需求的同学有所帮助,少采坑,提升效率!首先说下nginx项目安装目录(一般都是默认安装于此):/usr/local/nginx,项目源码目录:/usr/server/nginx/nginx-1.8.0
0 0
Nginx:配置HTTPS网址加上绿锁头
Nginx:配置HTTPS网址加上绿锁头
0 0
CentOS 上部署Nginx实现http301重定向https配置文件conf
CentOS 上部署Nginx实现http301重定向https配置文件conf
0 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
《Nginx 代理系统常用手册》
立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手
立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册
立即下载