Nginx部署SSL

1、创建SSL证书文件

[root@k8snode2 ~]# cd /etc/nginx/
[root@k8snode2 nginx]# mkdir  ssl/
[root@k8snode2 nginx]# cd  ssl/
[root@k8snode2 ssl]# openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
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			#电子邮件地址

创建了有效期100年,加密强度为RSA2048的SSL密钥key和X509证书文件。
参数说明:
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来生成所有二级域名可用的网站证书。

2、Nginx配置SSl

[root@k8snode2 ssl]# cat /etc/nginx/conf.d/jenkins.conf 
server {
    listen  80;
    server_name     jenkins.test.net;
    rewrite ^ https://$http_host$request_uri? permanent ;
}
server {
        listen 443 ssl;
        ssl_certificate /etc/nginx/ssl/nginx.crt;			#
        ssl_certificate_key /etc/nginx/ssl/nginx.key;		#
        keepalive_timeout   70;
        server_name jenkins.test.net	    #禁止在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;
        location / {
                proxy_pass http://127.0.0.1:8080;
        }
    }

3、重启Nginx

[root@k8snode2 ssl]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@k8snode2 ssl]# nginx -s reload
访问域名试试配置是否成功:jenkins.test.net

在这里插入图片描述

4、如果想同是启用http,https

server {
    listen              80;
    listen              443 ssl;
    server_name         www.example.com;
    ssl_certificate     www.example.com.crt;
    ssl_certificate_key www.example.com.key;
    ...
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

运维生涯记录

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值