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仓库

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

clip_image001

1
yum  install  nginx

clip_image001[4]

clip_image002

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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服务

1
systemctl start nginx

clip_image003

接下来开始申请私钥

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

clip_image004

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

1
2
3
4
5
6
7
8
9
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

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

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

1
2
cp  certnew.cer  /etc/pki/tls
ls

clip_image001[6]

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

1
2
cd  /etc/nginx
Mkdir ssl

clip_image002[4]

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

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

clip_image003[4]

clip_image004[4]

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

1
mv  certnew.cer web.pem

clip_image005[4]

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

clip_image006[4]

clip_image007[4]

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

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

clip_image008[4]

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

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

1
2
3
4
5
6
7
8
9
10
11
12
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 ;
}
}

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

1
Nginx -t

clip_image009[4]

查看端口信息

clip_image010[4]

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

clip_image011[4]

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

我们需要配置一下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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下



本文转自 高文龙 51CTO博客,原文链接:http://blog.51cto.com/gaowenlong/1882407,如需转载请自行联系原作者

相关文章
|
应用服务中间件 Linux 网络安全
Centos 8.0中Nginx配置文件和https正书添加配置
这是一份Nginx配置文件,包含HTTP与HTTPS服务设置。主要功能如下:1) 将HTTP(80端口)请求重定向至HTTPS(443端口),增强安全性;2) 配置SSL证书,支持TLSv1.1至TLSv1.3协议;3) 使用uWSGI与后端应用通信(如Django);4) 静态文件托管路径设为`/root/code/static/`;5) 定制错误页面(404、50x)。适用于Web应用部署场景。
1099 87
|
网络安全 Windows
Windows IIS 10如何配置自签名SSL并实现自动跳转
本文记录了IIS配置自签名证书及HTTPS跳转的注意事项。包括解决443端口占用问题、URL Rewrite插件安装与配置、web.config修改方法,以及避免因旧教程导致的配置错误。
Windows IIS 10如何配置自签名SSL并实现自动跳转
|
存储 Linux Apache
在CentOS上配置SVN至Web目录的自动同步
通过上述配置,每次当SVN仓库中提交新的更改时,`post-commit`钩子将被触发,SVN仓库的内容会自动同步到指定的Web目录,从而实现代码的连续部署。
326 16
|
NoSQL 安全 Linux
设置Redis在CentOS7上的自启动配置
这些步骤总结了在CentOS 7系统上设置Redis服务自启动的过程。这些命令提供了一个直接且明了的方式,确保Redis作为关键组件在系统启动时能自动运行,保障了依赖于Redis服务的应用的稳定性和可用性。
850 9
|
Linux
Centos6配置阿里云yum源报错
在CentOS 6配置阿里云Yum源时,可能出现EPEL仓库访问报错(404 Not Found)。解决方法:编辑`/etc/yum.repos.d/epel.repo`文件,将`enabled`和`gpgcheck`参数设为0 ``` 此设置可解决仓库无法访问的问题。
2463 29
|
Ubuntu 安全 Linux
CentOS与Ubuntu中防火墙配置命令集汇
有了这些,你就能遨游在 CentOS 和 Ubuntu 的海洋中,频繁地改变你的防火墙设置,快速地应对各种安全威胁,同时也能保证你的系统可以正常工作。出发吧,勇敢的编程者,随着这些命令集的涌动,扬帆起航,走向安全的网络世界!
472 5
|
Linux 虚拟化
CentOS 7.X配置连接网络
应用场景 Linux虚拟机,系统安装完毕后,无法连接网络,由于是最小化安装,很多命令无法直接yum安装,无法连接外网wget下载资源等等,造成很大的不便,因此需要进行配置连接外网! 操作指南 1. 开启VMware NAT Service 右击“计算机”,选择“管理”,在“服务和应用程序”中,选择“服务”,在右边找到“VMware NAT Service”服务,进行开启。
1474 0
|
Linux 虚拟化 网络协议
CentOS 6.X配置连接网络
应用场景 Linux虚拟机,系统安装完毕后,无法连接网络,由于是最小化安装,很多命令无法直接yum安装,无法连接外网wget下载资源等等,造成很大的不便,因此需要进行配置连接外网! 操作指南 1. 开启VMware NAT Service 右击“计算机”,选择“管理”,在“服务和应用程序”中,选择“服务”,在右边找到“VMware NAT Service”服务,进行开启。
1032 0
|
11月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
1649 69