设为首页 收藏本站
查看: 776|回复: 0

[经验分享] Centos7+Nginx通过windows CA颁发及配置SSL服务

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-12-14 09:14:23 | 显示全部楼层 |阅读模式
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 ... .el7.ngx.noarch.rpm



wKiom1hP-jOhxvpRAADOccggjwI404.jpg
1
yum install nginx



wKiom1hP-jWDFhFSAACcTKNIjok866.jpg
wKioL1hP-jeTRizyAADIBywzVi8979.jpg
我们同样给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



wKioL1hP-jjgZVv6AABvIfAUjs4228.jpg
接下来开始申请私钥
1
2
3
cd /etc/pki/tls
Openssl genrsa -out server.key 2048
Server.key 是私钥



wKioL1hP-jnzHPItAADOemqNHXg621.jpg
用私钥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



wKiom1hP-jzS-QU0AAFmAc1GH5E363.jpg
wKiom1hP-j3AFDk3AABRYyMe4_s043.jpg
我们打开刚才生成的csr文件
wKioL1hP-j_B-X77AAIrry9qMYk001.jpg
此时,我们有了csr文件我们通过这个文件在内部的windows CA服务器上申请证书
wKiom1hP-kCDNFodAAEtQzKUU0M690.jpg
使用base64位编码的CMC或者RKCS提交证书申请
wKioL1hP-kKiqHMZAADF2LCoL9o945.jpg
然后我们将csr文件的内容粘贴,选择web服务证书模板提交
wKioL1hP-kSDdWKtAAEV221XkhQ988.jpg
一定要下载basic64编码这个类型,不然在nginx启动的时候回报错
wKiom1hP-kWyMRPZAABzujJY6lA028.jpg
下载证书完成
wKiom1hP-kqjd_wuAAEv_Tw05QE961.jpg
我们将该证书上传到192.168.5.20上,nginx服务器上
wKioL1hP-kugFS5FAAA9PA5f0Ww134.jpg
我们将证书拷贝到证书目录下
1
2
cp certnew.cer /etc/pki/tls
ls



wKiom1hP-k2A_7nEAABtIfEPdgc847.jpg
我们为了证书统一 配置,再nginx的目录下创建了一个ssl目录,专门存放证书文件
1
2
cd /etc/nginx
Mkdir ssl



wKioL1hP-k7BZ_bOAACBiB8HbEU349.jpg
然后我们将刚才的那三个文件拷贝到这个目录下
1
cp /etc/pki/tls/server.key server.csr certnew.crt /etc/nginx/ssl/



wKiom1hP-k-A2dviAAB1-wWyrmM320.jpg
wKiom1hP-lDT1rMrAABD8RHjPF8656.jpg
我们为了好记名,将申请的证书修改名字及扩展名
1
mv certnew.cer web.pem



wKiom1hP-lKiCj6XAABUWj0t2KE074.jpg
在配置ssl之前,我们先访问以下,默认是80
wKioL1hP-lOz8lVeAAB4iNWiN0A670.jpg
wKiom1hP-lXzNh70AAFrh7x7u4M637.jpg
接下来我们配置ssl,默认的配置文件
1
vim /etc/nginx/conf.d/default.conf



wKioL1hP-leSM38kAAEh7k4akQQ049.jpg
我们因为不使用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



wKioL1hP-ljz-GKoAAB-ym2GLxw828.jpg
查看端口信息
wKioL1hP-lnQZYErAAFEDmj5JXE683.jpg
接下来我们尝试访问,443可以访问了,而且证书加载都是对的
wKioL1hP-luBLAcgAACwTvx0liE583.jpg
如果想访问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下


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-314055-1-1.html 上篇帖子: https经过nginx后struts跳转成http 下篇帖子: Nginx自动跳转https windows
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表