网站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连接。

流量配置图如下:

一 开启SSL证书准备

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

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


[root[email protected] ~]#
 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‘

[[email protected] ~]#

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默认虚拟主机配置文件,增加易创网和服务中心域名对应的虚拟主机


[[email protected] ~]#
 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给最终用户。


[[email protected] ~]#
 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配置没有问题,就执行下面方式重新加载配置文件。


[[email protected] ~]# nginx -t         #检查nginx配置语法

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

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

[[email protected] ~]# nginx -s reload      #重新加载nginx配置

[[email protected] ~]#

四 测试

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

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

192.168.121.106 www.vbeard.cc

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

时间: 2024-08-02 08:16:14

网站SSL安装配置的相关文章

svn+apache+ssl安装配置,通过SSL访问

系统环境: [[email protected] conf]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [[email protected] conf]# uname -r 3.10.0-327.el7.x86_64 安装SVN [[email protected] conf]# yum install -y subversion #安装SVN [[email protected] ~]# svn --versio

svn详细介绍,独立安装配置,hooks的配置管理以及大型门户网站代码上线流程

代码发布方案: 1,安装,优化 软件环境,(nginx,lvs)  <-------运维工程师 2,程序代码(不断更新).   <--------开发工程师,(开发,运维都可以发布) 3,配置变更(不断变更).   <--------运维工程师. 一.版本控制管理工具SVN详解 1.1 什么是SVN(subversion) ? SVN是近年来非常优秀的版本管理工具,与CSV管理工具一样,SVN是一个跨平台开元版本控制系统,但是SVN与众不同的是,SVN会备份并记 录每个文件每一次的修改更

Nginx下配置网站SSL实现https访问本站就是用的这方法

本文出至:新太潮流网络博客 第一步:服务器环境,lnmp即Linux+Nginx+PHP+MySQL,本文中以我的博客为例,使用的是阿里云最低档的ECS+免费的Linux服务器管理系统WDCP快速搭建的lnamp环境,具体安装以及使用方法都可以在其官方论坛找到详细的操作文档. 第二步:创建你的网站,使用lnamp环境创建你的网站,已有网站的,确保你的程序在lnamp下能够正常的运行,以wordpress为例,lamp跟lnamp下的伪静态规则是不同的,有过更换的,要记得切换. 第三步:申请免费的

Centos7下Apache详细安装配置及证书申请SSL配置介绍

首先说到Centos大家都已经非常熟悉了,所以我们也就不多介绍关于Centos具体发展了,我们首先知道在Centos7之前版本命令和ReadHat的命令完全一样的,可Centos从6.0版本升级到Centos7版本之后,命令及功能上有了很大的变化,最明显的差别就是从安装的操作界面及操作命令上已经有很大变化了,更不用说功能上的变化了,比如centos6.x版本的iptalbes到centos7的firewall的变化,当然,变化了很多,我也就不多说了,今天呢,主要给大家介绍一下再Centos7下A

怎么在CentOS7下手动安装配置Lighttpd+PHP+MYSQL网站?

我们在一般的VPS服务器架设网站环境用到的Nginx.Apache比较多一些,其实还有包括Lighttpd很多有些常用或者说是有些用户喜欢的WEB服务器架构软件.Lighttpd作为一款开源WEB服务器软件,占用资源低.灵活兼容性高.以及丰富的模块功能还是有不少的用户使用的. 需要简单的PHP功能的VPS环境,甚至连数据库都不需要用到,且提到是否可以安装Lighttpd WEB环境,因为之前也有文章用到Lighttpd环境的是基于Debian发行版本的,这次利用CentOS7发行版本且安装Lig

域名阿里云免费ssl证书配置安装

去阿里云盾申请 成功后下载 有三个文件******.com_public.crt ******.com.key *******.com_chain.crt Apache安装配置SSL证书方法教程(普通版) https://www .wosign.com/support/ssl-Apache1.htm 把正书放在了/usr/local/apache/conf/ssl 里面(自己创建的ssl) 修改了/usr/local/apache/conf/extra下面的httpd-vhosts.conf <

实战1 svn安装配置

大纲 一.subversion概述 二.subversion系统逻辑架构图 三.svn的安装配置 #svn的安装 ##svn的启动 ###测试svn服务 ####一下没有看懂什么用? #####关于subversion组件 四.客户端安装与测试 --------------------- 一.subversion概述 Subversion(SVN)是一个开源的,跨平台的版本控制系统,由CollabNet公司成立于2000年: Subversion作为新一代的版本管理系统,以其目录版本化.原子提交

详细到复制粘贴就能完成的java开发软件的安装配置过程

java开发与发布过程中需要安装很多软件,这些软件的安装过程通常不是鼠标双击就能解决的,但也不难,只是很少有人会花精力去记住,我将这些软件的安装过程整理出来,以备参考!整理过程以centos 6.5平台为主,其他linux版本也可以参考 jdk java开发最重要的自然是jdk,就从jdk的安装开始吧(windows安装jdk与linux基本相同) 从oracle官方网站下载jdk安装包:jdk-8u111-linux-x64.rpm 安装前检查是否有系统自带的jdk或已经安装的jdk,如果有的

Nginx优点特性、安装配置、安装目录、配置文件

额外知识点 内网IP: 10.x.x.x 172.16.x.x - 172.31.x.x 192.168.x.x Nginx Web服务应用 Nginx优点: 1.占用资源更少.支持更多并发连接 2.web服务.方向代理.负债均衡.缓存服务 3.安装配置简单.方便.灵活 Nginx特色: A.支持高并发:能支持几万并发连接(特别是静态小文件业务环境) B.资源消耗少:在3万并发连接下,开启10个Nginx线程消耗的内存不到200MB C.可以做到HTTP反向代理及缓存加速,即负载均衡功能,内置对