首页 > 网络 > 其他 >

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

2016-12-19

Centos7+Nginx通过windows CA颁发及配置SSL服务近期在学习Linux的相关知识,作为一个运维工程师所必备的知识点,一个web服务尤其运行在互联网上的很容易攻击,所以为了保证安全最起码的需要对web服务配置SSL,这

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

近期在学习Linux的相关知识,作为一个运维工程师所必备的知识点,一个web服务尤其运行在互联网上的很容易攻击,所以为了保证安全最起码的需要对web服务配置SSL,这样能提高一定的安全性,所以我们今天介绍,Centos7+Nginx通过windows CA颁发及配置SSL服务,当然如果是生成环境的话,一般都会申请第三方证书,比如沃通等第三方证书颁发机构,今天我们主要使用的是内部的windows CA服务为nginx颁发证书,当然也可以使用Nginx的自签名证书,但是那样每次访问都会有相关的警告 提醒,具体见下:

环境介绍:

Hostname:DC.IXMSOFT.COM

IP:192.168.5.10

Role:DC、DNS、CA

OS:windows Server 2016

Hostname:D-S.IXMSOFT.COM

IP:192.168.5.20

Role:Nginx Service

OS: Centos 7.1

准备操作系统后及安装完成对应的配置:

1.hostnamectl set-hostname d-s

2.vim /etc/selinux/config--->selinux:disabled

3.添加防火墙规则:firewall-cmd –zone=public --add-port=”80/tcp” –permenant

接下来就是安装nginx仓库

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

clip_image001

yuminstallnginx

clip_image001[4]

clip_image002

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

vim/usr/share/nginx/html/index.html

WelcometoD-SNginxService

HostName:D-S

IP:192.168.5.20

然后启动nginx服务

systemctlstartnginx

clip_image003

接下来开始申请私钥

cd/etc/pki/tls
Opensslgenrsa-outserver.key2048
Server.key是私钥

clip_image004

用私钥serverkey 文件生成证书请求文件csr

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

clip_image005

clip_image006

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

clip_image007

此时,我们有了csr文件我们通过这个文件在内部的windows CA服务器上申请证书

clip_image008

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

clip_image009

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

clip_image010

一定要下载basic64编码这个类型,不然在nginx启动的时候回报错

clip_image011

下载证书完成

clip_image012

我们将该证书上传到192.168.5.20上,nginx服务器上

clip_image013

我们将证书拷贝到证书目录下

cpcertnew.cer/etc/pki/tls
ls

clip_image001[6]

我们为了证书统一 配置,再nginx的目录下创建了一个ssl目录,专门存放证书文件

cd/etc/nginx
Mkdirssl

clip_image002[4]

然后我们将刚才的那三个文件拷贝到这个目录下

cp/etc/pki/tls/server.keyserver.csrcertnew.crt/etc/nginx/ssl/

clip_image003[4]

clip_image004[4]

我们为了好记名,将申请的证书修改名字及扩展名

mvcertnew.cerweb.pem

clip_image005[4]

在配置ssl之前,我们先访问以下,默认是80

clip_image006[4]

clip_image007[4]

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

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

clip_image008[4]

我们因为不使用80,所以default.conf用不到,mv default.conf default.conf.bak 重命名

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

vimnginx-ssl.conf
server{
listen443;
server_namenginx.ixmsoft.com;
sslon;
ssl_certificate/etc/nginx/ssl/web.pem;
ssl_certificate_key/etc/nginx/ssl/server.key;
access_loglogs/ssl_access.log;
location/{
root/usr/share/nginx/html;
}
}

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

Nginx-t

clip_image009[4]

查看端口信息

clip_image010[4]

接下来我们尝试访问,443可以访问了,而且证书加载都是对的

clip_image011[4]

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

我们需要配置一下

server{
listen80;
server_namenginx.ixmsoft.com;
rewrite^(.*)https://$server_name$1permanent;
}
server{
listen443;
server_namenginx.ixmsoft.com;
sslon;
ssl_certificate/etc/nginx/ssl/web.pem;
ssl_certificate_key/etc/nginx/ssl/server.key;
access_loglogs/ssl_access.log;
location/{
root/usr/share/nginx/html;
}
}
相关文章
最新文章
热点推荐