Nginx配置Https详细说明
admin
2023-03-11 16:02:36
0

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

Nginx*2+Keepalived+Tomcat*2的Web环境
搭建详细请看:https://blog.51cto.com/gdutcxh/2109841

实验环境下配置

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_host$request_uri? permanent;    # force redirect http to https
        #return 301 https://$http_host$request_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;
    ...
}
6、重启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(同上)

相关内容

热门资讯

俄红场阅兵现场播放无人机作战视... 据凤凰卫视报道,当地时间5月9日,俄罗斯胜利日阅兵式在莫斯科举行。阅兵现场,同步播放了无人机作战相关...
5月10日起,北京部分地铁线试... 为服务骑行爱好者携车出行,在借鉴国内先进城市成熟经验、深入开展实地调研的基础上,结合本市轨道交通运营...
解放军主战舰艇编队进入澎湖西南... 5月9日下午,国防部新闻局副局长、国防部新闻发言人蒋斌大校就近期涉军问题发布消息。媒体提到,据报道,...
普京会见三国总统 强化后苏联空... 普京会见三国总统  【普京会见三国总统】莫斯科5月8日电​ 当地时间5月8日,俄罗斯总统普京在莫斯科...
国务院最新任免:陈东明任黄河水... 国务院任免国家工作人员。任命贺勇为国家自然资源副总督察(专职);任命陈东明为黄河水利委员会主任。
国防部:敦促有关国家停止拉帮结... 5月9日下午,国防部新闻局副局长、国防部新闻发言人蒋斌大校就近期涉军问题发布消息。记者:据报道,日本...
女子一吃东西就“大小眼” 确诊... 女子一吃东西就“大小眼”  【女子一吃东西就“大小眼”】河南郑州一位女子患上了一种罕见的怪病。只要一...
“英版特朗普”攻城略地,英国要... 【文/观察者网 柳白】英国政坛正在经历一场强烈震荡。刚刚结束的英国地方议会选举中,首相斯塔默领导的工...
记者观察|透过这场吹风会,看懂... 一项刚从实验室诞生的新技术,如何“能落地、长得好”? 过去很多年里,我们是“先研发技术,再给它找地方...
大破防!美贸易代表炮轰美国法官... 文 观察者网 齐倩美国法院裁定新一轮全球关税非法,特朗普政府随即表示上诉。当地时间5月8日,美国贸易...