Centos7+Nginx通过windows CA颁发及配置SSL服务

Centos7+Nginx通过windows CA颁发及配置SSL服务,第1张

Centos7+Nginx通过windowsCA颁发及配置SSL服务

Centos7+Nginx通过windowsCA发布和配置SSL服务

近几年学习Linux,作为一个运维工程师的必备知识点,一个web服务在互联网上运行非常容易***,所以为了保证安全,需要为web服务配置SSL,可以提高一定的安全性。所以今天我们引入Centos7+Nginx通过windowsCA发布和配置SSL服务。当然,如果是生成环境,一般会申请第三方证书,比如沃通这样的第三方认证机构。今天我们主要使用内部的windowsCA服务为nginx颁发证书,当然也可以使用Nginx的自签名证书,但是之后每次访问都会有相关的警告。有关详细信息,请参见以下内容:

环境介绍:

主机名:DC.IXMSOFT.COM

IP:192.168.5.10

角色:DC、DNS、CA

*** 作系统:windowsServer2016

主机名:D-S.IXMSOFT.COM

IP:192.168.5.20

角色:Nginx服务

*** 作系统:Centos7.1

*** 作系统准备和安装后的相应配置:

1.hostnamectlset-hostnamed-s

2.vim/etc/selinux/config->;selinux:已禁用

3.添加防火墙规则:firewall-cmd–zone=public-add-port="80/TCP"-permit

下一步是安装nginx仓库。

yum install http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

yum install nginx

我们还为nginx配置了一个页面,主要是为了区分

vim /usr/share/nginx/html/index.html <html> <head> <title>Welcome to Nginx!</title> <style> body { 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body bgcolor="#BE77FF"> <h1>Welcome to D-S Nginx Service</h1> <h2>HostName:D-S</h2> <h2>IP:192.168.5.20</h2> </body> </html>

然后启动nginx服务。

systemctl start nginx

接下来,申请私钥。

cd /etc/pki/tls Openssl genrsa -out server.key 2048 Server.key 是私钥

使用私钥服务器密钥文件生成证书请求文件csr

openssl req -new -key server.key -out server.csr Server.csr 是证书请求文件 域名,也称为 Common Name,因为特殊的证书不一定是域名:nginx.ixmsoft.com 组织或公司名字(Organization):Example, Ixmsoft 部门(Department):可以不填写,城市(City):Beijing 省份(State / Province):Beijing 国家(Country):CN 加密强度:2048 位,如果你的机器性能强劲,也可以选择 4096 位 如果是泛域名证书,则应该填写*.ixmsoft.com

我们打开刚刚生成的csr文件。

此时,我们有了csr文件,通过它我们可以在内部windowsCA服务器上申请证书。

使用带有base64位编码的CMC或RKCS提交证书申请。

然后,我们粘贴csr文件的内容,并选择要提交的web服务证书模板。

一定要下载这种类型的basic64编码,否则nginx启动时会报错。

证书下载完成。

我们将这个证书上传到nginx服务器上的192.168.5.20。

我们将证书复制到证书目录。

cp certnew.cer /etc/pki/tls ls

为了证书的统一配置,我们在nginx的目录下创建了一个ssl目录来存储证书文件。

cd /etc/nginx Mkdir ssl

然后我们把刚才的三个文件复制到这个目录。

cp /etc/pki/tls/server.key server.csr certnew.crt /etc/nginx/ssl/

为了便于注册,我们将修改申请证书的名称和扩展名。

mv certnew.cer web.pem

在配置ssl之前,让我们访问以下内容,默认情况下是80

接下来,我们配置默认配置文件ssl。

vim /etc/nginx/conf.d/default.conf

因为不用80,所以不用default.conf,mvdefault.conf.conf.bak改名。

让我们在/etc/nginx/conf.d/下创建一个新的配置文件

vim nginx-ssl.conf server { listen 443; server_name nginx.ixmsoft.com; ssl on; ssl_certificate /etc/nginx/ssl/web.pem; ssl_certificate_key /etc/nginx/ssl/server.key; access_log logs/ssl_access.log; location / { root /usr/share/nginx/html; } }

我们保证配置文件没有问题,可以使用下面的命令进行测试

Nginx -t

查看端口信息

接下来我们尝试访问,443可以访问,证书加载正确。

如果要访问80跳转到443,那么我们需要修改刚才的nginx_ssl.conf文件。

我们需要配置它。

server { listen 80; server_name nginx.ixmsoft.com; rewrite ^(.*) https://$server_name$1 permanent; } server { listen 443; server_name nginx.ixmsoft.com; ssl on; ssl_certificate /etc/nginx/ssl/web.pem; ssl_certificate_key /etc/nginx/ssl/server.key; access_log logs/ssl_access.log; location / { root /usr/share/nginx/html; } }

这样重启nginx后,使用80访问后,会自动跳转到443端口的https。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/778073.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存