网站SSL安装配置

简介:







背景介绍:

         HTTPS,全称:Hyper Text Transfer Protocol over Secure Socket Layer,是通过SSL安全机制传输,保证网站数据不被窃听、冒充、篡改等安全风险,保证网站传输安全可靠,下面是通过nginx配置ssl模块记录。

 

环境信息:

 nginx ssl--tomcat1

                      tomcat2

                      tomcat3

 

操作系统: centos  6.8

nginx 1.12.0

tomcat tomcat8

 

        之前的流量图:普通用户,从公网访问公司网站,会经过防火墙进入nginx agent反向代理,反向代理根据用户的域名,分配到对应的web服务器。

 

 

        SSL流量:使用证书访问网站,当用户的流量到达nginx agent反向代理后,nginx开启ssl加密,然后转向到对应的web服务器,web服务器程序认证完毕后返回给用户对应的http连接。

        流量配置图如下:

 

 wKiom1mi0KHRE0YVAABXt1tH1OI326.png-wh_50

 


 

 

 开启SSL证书准备

 

1.需要准备nginx已经开启了ssl模块

 

             检查命令如下,发现有此模块,如果没有,需要重新编译 --with-ssl模块安装

 

[root@kmsdT-MQ ~]#  nginx -V | grep ssl

nginx version:  nginx/1.12.0

built by gcc 4.8.5  20150623 (Red Hat 4.8.5-4) (GCC)

built with OpenSSL  1.0.1e-fips 11 Feb 2013

TLS SNI support  enabled

configure  arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx  --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf  --error-log-path=/var/log/nginx/error.log  --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid  --lock-path=/var/run/nginx.lock  --http-client-body-temp-path=/var/cache/nginx/client_temp  --http-proxy-temp-path=/var/cache/nginx/proxy_temp  --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp  --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp  --user=nginx --group=nginx --with-compat --with-file-aio --with-threads  --with-http_addition_module --with-http_auth_request_module  --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module  --with-http_mp4_module --with-http_random_index_module  --with-http_realip_module --with-http_secure_link_module  --with-http_slice_module --with-http_ssl_module  --with-http_stub_status_module --with-http_sub_module --with-http_v2_module  --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module  --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2  -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong  --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC'  --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'

[root@kmsdT-MQ ~]#

 

 

2.准备好证书文件

          通过key证书文件,向第三方机构申请认证,申请证书,证书文件命名如下:

www.vbeard.cc.cer    #公钥

www.vbeard.cc.key   #私钥

 

 

 

 nginx配置

 

2.1 使用了nginx 1.12版本,配置文件按照模块分开配置了

 

       编辑vi /etc/nginx/nginx.conf , http里面增加下面配置

 upstream yc{

   server 192.168.120.101:87  max_fails=3 fail_timeout=30s;

    server 192.168.120.108:87 max_fails=3 fail_timeout=30s;

  server 192.168.120.105:87  max_fails=3 fail_timeout=30s;

}

 

 

 

2.2  编辑80默认虚拟主机配置文件,增加易创网和服务中心域名对应的虚拟主机

 

[root@kmsdT-MQ ~]#  cat /etc/nginx/conf.d/default.conf

server {

    listen       80;

    server_name  www.vbeard.cc;

 

    #charset koi8-r;

      #access_log  /var/log/nginx/log/host.access.log  main;

 

    rewrite  ^/Home/Login(.*) https://www.vbeard.cc/$1 permanent;     #nginx根据头判断是否走https

 

    location / {

           proxy_pass http://yc    #反向代理到后端易创网,易创网可能有多台,起到负载均衡的作用

            proxy_set_header Host $host;

            proxy_set_header X-Forwarded-For  $remote_addr;   

 

 

    }

 

    error_page   500 502 503 504  /50x.html;

    location = /50x.html {

        root    /usr/share/nginx/html;

    }

}

 

2.3 编辑ssl.conf配置文件,443虚拟主机配置

        如下,通过反向代理到后端IIS web对应的应用服务器,对应的应用服务器处理后,如果登录成功,则返回http给最终用户。

[root@kmsdT-MQ ~]#  cat /etc/nginx/conf.d/ssl.conf

server {

 

        listen       443;

        server_name   www.vbeard.cc ;

        ssl                  on;           #开启ssl证书加密

        ssl_certificate      www.vbeard.cc.cer;

         ssl_certificate_key  www.vbeard.cc.key;

            ssl_session_cache    shared:SSL:10m;

        ssl_session_timeout  5m;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

        ssl_ciphers  HIGH:!aNULL:!MD5;

        ssl_prefer_server_ciphers   on;

 

 

    location / {

          proxy_pass http://yc    #当接收到对应请求后,转向到后端服务器处理。

            proxy_set_header Host $host;

            proxy_set_header X-Forwarded-For  $remote_addr;   

 

    }

    error_page   500 502 503 504  /50x.html;

    location = /50x.html {

        root    /usr/share/nginx/html;

    }

}

}

 

 

 

2.4 nginx重新加载

        检查nginx配置没有问题,就执行下面方式重新加载配置文件。

 

[root@kmsdT-MQ ~]# nginx -t         #检查nginx配置语法

nginx: the  configuration file /etc/nginx/nginx.conf syntax is ok

nginx:  configuration file /etc/nginx/nginx.conf test is successful

[root@kmsdT-MQ ~]# nginx -s reload      #重新加载nginx配置

[root@kmsdT-MQ ~]#

 

 

 测试

        需要更改本地host后,测试登录是否加密了。

对应修改本地hosts方法:C:\Windows\System32\Drivers\etc\hosts

 

192.168.121.106 www.vbeard.cc

 

访问: https://www.vbeard.cc 检查是否可以正常打开。




本文转自 woshiwei201 51CTO博客,原文链接:http://blog.51cto.com/chenwei/1959782

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
1月前
|
安全 搜索推荐 数据建模
解决网站“不安全”、“不受信”、“排名下降”,你需要——「SSL证书」
SSL证书是网络安全的关键,用于加密和验证网站身份,保护用户数据安全,防止信息被窃取。它分为DV、OV、EV和IV四种类型,每种验证网站身份的程度不同。DV证书快速签发,OV和EV证书提供更高级别的身份验证,EV证书曾在浏览器地址栏显示绿色。目前,DV证书占据市场大部分份额。SSL证书还有单域、通配符和多域之分,有效期曾从多年逐渐缩短至90天,以增强安全性。部署SSL证书能提升用户信任,优化SEO排名,并符合网络安全法规要求。
解决网站“不安全”、“不受信”、“排名下降”,你需要——「SSL证书」
|
1月前
|
前端开发 应用服务中间件 Linux
nginx解决springcloud前后端跨域问题,同时配置ssl
nginx解决springcloud前后端跨域问题,同时配置ssl
|
1月前
|
应用服务中间件 网络安全 nginx
Nginx配置SSL证书时——nginx:[emerg]unknowndirectivessl错误
Nginx配置SSL证书时——nginx:[emerg]unknowndirectivessl错误
264 0
|
11天前
|
网络协议 安全 应用服务中间件
阿里云申请免费ssl证书并配置nginx
阿里云申请免费ssl证书并配置nginx
|
27天前
|
负载均衡 安全 应用服务中间件
nginx配置ssl和反向代理的配置代码
【5月更文挑战第2天】nginx配置ssl和反向代理的配置代码
55 3
|
1月前
|
XML 网络安全 开发工具
如何下载并安装 SAP ABAPGit,并完成 ABAP 服务器上 SSL 证书的配置试读版
如何下载并安装 SAP ABAPGit,并完成 ABAP 服务器上 SSL 证书的配置试读版
28 0
|
1月前
|
安全 应用服务中间件 网络安全
linux_nginx中添加ssl配置(open ssl)
linux_nginx中添加ssl配置(open ssl)
35 1
|
1月前
|
弹性计算 安全 Java
阿里云服务器配置、(xshell)远程连接、搭建环境、设置安全组、域名备案、申请ssl证书
以下是内容的摘要: 在阿里云购买服务器并进行基本配置的步骤如下: 1. **准备工作**: - 注册阿里云账号:访问阿里云官网并注册新账号,输入用户名、手机号和验证码。 - 实名认证:在个人中心进行实名认证,建议选择企业实名,因为个人实名可能无法索取企业发票。
|
1月前
|
安全 应用服务中间件 网络安全
SSL原理、生成SSL密钥对、Nginx配置SSL
现在,你的Nginx虚拟主机应该已经配置了SSL,可以通过HTTPS安全访问。确保在生产环境中使用有效的SSL证书来保护通信的安全性。
46 0
|
1月前
|
前端开发 应用服务中间件 网络安全
nginx配置SSL证书配置https访问网站 超详细(附加配置源码+图文配置教程)
nginx配置SSL证书配置https访问网站 超详细(附加配置源码+图文配置教程)
280 0