前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx配置HTTPS详细说明

Nginx配置HTTPS详细说明

作者头像
星哥玩云
发布2022-07-14 10:06:50
7460
发布2022-07-14 10:06:50
举报
文章被收录于专栏:开源部署开源部署

TLS或传输层安全( transport layer security),它的前身是SSL(安全套接字层secure sockets layer),是Web协议用来包裹在一个受保护,加密封装正常通道。采用这种技术,服务器和客户端之间可以安全地进行交互,而不用担心消息将被拦截和读取。证书系统帮助用户在核实它们与连接站点的身份。

环境说明

Nginx*2+Keepalived+Tomcat*2的Web环境搭建详细请看:https://www.linuxidc.com/Linux/2018-06/152740.htm

实验环境下配置

1、下载openssl:yum install openssl* -y

2、使用openssl生成数字证书     mkdir -p /etc/nginx/ssl     openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.pem

    Country Name (2 letter code) [AU]:US     State or Province Name (full name) [Some-State]:New York     Locality Name (eg, city) []:New York City     Organization Name (eg, company) [Internet Widgits Pty Ltd]:Bouncy Castles, Inc.     Organizational Unit Name (eg, section) []:Ministry of Water Slides     Common Name (e.g. server FQDN or YOUR name) []:your_domain.com     Email Address []:admin@your_domain.com

3、Nginx下的配置(只启用Https)    server {        listen      80;        server_name  www.yourdomain.com;        rewrite ^ https://http_hostrequest_uri? permanent;    # force redirect http to https        #return 301 https://http_hostrequest_uri;    }

server {         listen 443 ssl;         ssl_certificate /etc/nginx/ssl/nginx.pem;         ssl_certificate_key /etc/nginx/ssl/nginx.key;         keepalive_timeout  70;         server_name www.yourdomain.com;       #禁止在header中出现服务器版本,防止***利用版本漏洞***         server_tokens off;         #如果是全站 HTTPS 并且不考虑 HTTP 的话,可以加入 HSTS 告诉你的浏览器本网站全站加密,并且强制用 HTTPS 访问         #add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";         # ......         fastcgi_param  HTTPS              on;         fastcgi_param  HTTP_SCHEME        https;

        access_log      /var/log/nginx/wiki.xby1993.net.access.log;         error_log      /var/log/nginx/wiki.xby1993.net.error.log;     }

4、同时使用Http和Https

Nginx下配置

server {     listen              80;     listen              443 ssl;     server_name        www.example.com;     ssl_certificate    www.example.com.pem;     ssl_certificate_key www.example.com.key;     ... }

5、重启Nginx

openssl的说明

req: 配置参数-x509指定使用 X.509证书签名请求管理(certificate signing request (CSR))."X.509" 是一个公钥代表that SSL and TLS adheres to for its key and certificate management. -nodes: 告诉OpenSSL生产证书时忽略密码环节.(因为我们需要Nginx自动读取这个文件,而不是以用户交互的形式)。 -days 36500: 证书有效期,100年 -newkey rsa:2048: 同时产生一个新证书和一个新的SSL key(加密强度为RSA 2048) -keyout:SSL输出文件名 -out:证书生成文件名 它会问一些问题。需要注意的是在common name中填入网站域名,如wiki.xby1993.net即可生成该站点的证书,同时也可以使用泛域名如*.xby1993.net来生成所有二级域名可用的网站证书。

企业Web服务器的HTTPS

一、申请,购买CA证书     一般各大云服务提供商都会有此类证书服务,根据公司和业务需求,可以自己选择免费或者付费的证书。 二、下载并解压证书文件     一个zip包,里面有xxx.key和xxx.pem两个文件。 三、配置Nginx(同上)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档