Centos7+Nginx通过windows CA颁发及配置SSL服务
近期在学习Linux的相关知识,作为一个运维工程师所必备的知识点,一个web服务尤其运行在互联网上的很容易攻击,所以为了保证安全最起码的需要对web服务配置SSL,这样能提高一定的安全性,所以我们今天介绍,Centos7+Nginx通过windows CA颁发及配置SSL服务,当然如果是生成环境的话,一般都会申请第三方证书,比如沃通等第三方证书颁发机构,今天我们主要使用的是内部的windows CA服务为Nginx颁发证书,当然也可以使用Nginx的自签名证书,但是那样每次访问都会有相关的警告 提醒,具体见下:
环境介绍:
Hostname:
IP:
Role:DC、DNS、CA
OS:windows Server 2016
Hostname:D-
IP:
Role:Nginx Service
OS: Centos
准备操作系统后及安装完成对应的配置:
set-hostname d-s
/etc/selinux/config--->selinux:disabled
3.添加防火墙规则:firewall-cmd –zone=public --add-port=”80/tcp” –permenant
接下来就是安装Nginx仓库
yuminstall/packages/centos/7/noarch/RPMS/Nginx-release-centos-7-
yuminstallNginx
vim/usr/share/Nginx/html/ <html> <head> <title>WelcometoNginx!</title> <style> body{ 35em; margin:0auto; font-family:Tahoma,Verdana,Arial,sans-serif; } </style> </head> <bodybgcolor="#BE77FF"> <h1>WelcometoD-SNginxService</h1> <h2>HostName:D-S</h2> <h2>IP:</h2> </body> </html>
然后启动Nginx服务
systemctlstartNginx
接下来开始申请私钥
cd/etc/pki/tls Opensslgenrsa-out2048 是私钥
opensslreq-new-key-out 是证书请求文件 域名,也称为CommonName,因为特殊的证书不一定是域名: 组织或公司名字(Organization):Example,Ixmsoft 部门(Department):可以不填写,城市(City):Beijing 省份(State/Province):Beijing 国家(Country):CN 加密强度:2048位,如果你的机器性能强劲,也可以选择4096位 如果是泛域名证书,则应该填写*
此时,我们有了csr文件我们通过这个文件在内部的windows CA服务器上申请证书
使用base64位编码的CMC或者RKCS提交证书申请
一定要下载basic64编码这个类型,不然在Nginx启动的时候回报错
下载证书完成
我们将证书拷贝到证书目录下
cp/etc/pki/tls ls
我们为了证书统一 配置,再Nginx的目录下创建了一个ssl目录,专门存放证书文件
cd/etc/Nginx MkdiRSSl
然后我们将刚才的那三个文件拷贝到这个目录下
cp/etc/pki/tls//etc/Nginx/ssl/
我们为了好记名,将申请的证书修改名字及扩展名
mv
在配置ssl之前,我们先访问以下,默认是80
接下来我们配置ssl,默认的配置文件
vim/etc/Nginx//
我们因为不使用80,所以用不到,mv 重命名
vimNginx- server{ listen443; server_name; sslon; ssl_certificate/etc/Nginx/ssl/; ssl_certificate_key/etc/Nginx/ssl/; access_loglogs/ssl_; location/{ root/usr/share/Nginx/html; } }
我们保证配置文件没有问题,可以使用以下命令测试
Nginx-t
查看端口信息
接下来我们尝试访问,443可以访问了,而且证书加载都是对的
如果想访问80跳转到443,那么我们需要修改刚才的Nginx_文件。
我们需要配置一下
server{ listen80; server_name; rewrite^(.*)$server_name$1permanent; } server{ listen443; server_name; sslon; ssl_certificate/etc/Nginx/ssl/; ssl_certificate_key/etc/Nginx/ssl/; access_loglogs/ssl_; location/{ root/usr/share/Nginx/html; } }原文链接:https://www.f2er.com/centos/378975.html