centos中Nginx 安装ssl证书步骤

先说下https也就是ssl证书,一般我们认为https是安全的,但是SSL 证书的信用链体系并不安全。特别是在某些国家(咳咳,你们懂的)可以控制 CA 根证书的情况下,中间人攻击一样可行。另外,在客户端被植入无数后门、木马的状况下,HTTPS 连接的作用非常有限。

 

我不使用的原因

更换https和替换域名代价是一样的
又拍云不支持自定义域名https
好了,我们可以开始配置ssl了。一般来说我比较推荐namecheap的ssl证书,因为比较便宜,毕竟对大部分个人博客来说只是想要那个绿锁提升逼格罢了~

使用OpenSSL生成证书

cd /usr/local/nginx/conf/
/usr/local/nginx/conf# openssl genrsa -out yourdomain.pem 2048
Generating RSA private key, 2048 bit long modulus
........+++
................................................................................................................+++
e is 65537 (0x10001)
生成证书

openssl req -new -key yourdomain.pem -out yourdomain.csr
会出现以下提示

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
按照提示输入相应信息即可

Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:Beijing
Locality Name (eg, city) [Default City]:Beijing
Organization Name (eg, company) [Default Company Ltd]:Bigfa
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:yourdomain.com 
Email Address []:admin@yourdomain.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
执行cat yourdomain.csr

-----BEGIN CERTIFICATE REQUEST-----
MIICxDCCAawCAQAwfzELMAkGA1UEBhMCQ04xEDAOBgNVBAgMB0JlaWppbmcxEDAO
BgNVBAcMB0JlaWppbmcxDjAMBgNVBAoMBUJpZ2ZhMRcwFQYDVQQDDA55b3VyZG9t
YWluLmNvbTEjMCEGCSqGSIb3DQEJARYUYWRtaW5AeW91cmRvbWFpbi5jb20wggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9fsxThwLzCd54s2GMUcjlleCj
LTf9bYGQyIjn+6z7kJbDbcrkbZxMysfRnFLa6u5oK7S9PQfGHK/gZeHfSLXbD/GL
wi171tZpnQHjfLjMbHEUEUCFQD7ueek/v3/Tr+T0+em1gQt/93K2dqv7Cx+bupwc
zNkQmqNgqslC4sdKQZjLUIHYLr/j8lQQLOOn9/PiuNOGCTaK5g9TA20oVCjpJZuf
1eN7jYUOtvy4IGhq4BkNJHHmg32cxH9mZOgmhohq+pbmi0PP8E2OFTzpyZ6OcFtW
IcSRq3UpjPw8EYfEg4lDC0Xee2Yom7Is8yBWAPcNKxpvFphlHirHOF6xifRzAgMB
AAGgADANBgkqhkiG9w0BAQUFAAOCAQEAN9OnT8J1VnO74bXbJS9ub7DGf94klpoy
YQWePKelnImU1Zszdg3jYtKWZVcNYhM5QfZ16CDKwYEQeQkgy1xSBKkwpY24ICe+
iX1sczvBY/gUq+xNArL5La7/Tow3KrJZJuFc1iVESBG0wU8zu9ZcnwbuRj0Dn8qj
fMqwwct+0Xz2zXxiqtVCPNQXqa/YRANGnFnBBPErBnaL/j439s4TBasSiIyb7TE+
Ku9LrfecL5w8+05NFPcG1ArpbQJDuJIIAk1itTMLEMGqUYWD6MYcksH4FcTr70Vw
f8Ag9+Csyf5aQxQVgNDCgc3zwHTg0Bpbldx8+HiCiDXjaK4qAXKBRQ==
-----END CERTIFICATE REQUEST-----
把—

 

NameCheap生成数字证书

因为新证书还没有域名可用,所以这部分截图以后补上。

进入Namecheap管理界面,点击“Activate Now”即可激活SSL产品。

之后会出现一个提交证书向CA(数字证书颁发机构)提交OpenSSL生成的证书的页面,把前面复制的内容粘贴进去,系统选择nginx。

接下来是选择域名管理员邮箱,邮箱必须是能够接收到邮件。同时确认一下生成证书时填写的信息是否正确。选用默认那个特别长的会发送到你namecheap的注册邮箱。

之后提交订单即可。

过段时间会收到一封验证邮件,点击邮件中的验证地址并并填写验证码即可。

过段时间邮箱就会收到发来的证书,下载附件的压缩包解压,里面好像有4个文件,选择你yourdomain.pem。上传到你的服务器,注意路径,后面配置的时候需要加载这个证书

Nginx虚拟主机设置SSL

ssl是443端口,注意证书路径。

server
 {
  listen 443 ;
  server_name fatesinger.com;
  ssl on;
  ssl_certificate /usr/local/nginx/conf/fatesinger_com.crt;
  ssl_certificate_key /usr/local/nginx/conf/bigfa.pem;
  index index.html index.htm index.php default.html default.htm default.php;
  root  /home/wwwroot/fatesinger.com;
  access_log  /home/wwwlogs/fatesinger.com.log  access;
 }
全站https跳转

if ($server_port = 80) {
    return 301 https://$server_name$request_uri;
}
if ($scheme = http) {
    return 301 https://$server_name$request_uri;
}
error_page 497 https://$server_name$request_uri;

最后就是ssl证书本身没多少钱,也有免费的,如果我是新站的话我肯定毫不犹豫的配置上ssl证书,但是现在对我来说全站配置ssl代价还是蛮大的,所以只在部分URL启用了https,如何只在部分url使用https可以接着往下看

在nginx的配置中,必须同时配置两个端口,一个是80一个是443。

server {
    root /var/www/
    location / {
    }
    location /user {
        rewrite ^ https://$http_host$request_uri? permanent;
    }
}
这个带/user的url会自动跳转为https

然后在443端口进行相反的设置
Then, in your 443 server, you do the opposite.

server {
    listen 443;
    root /var/www/
    location / {
        rewrite ^ http://$http_host$request_uri? permanent;
    }
    location /user {
    }
}

。https肯定是趋势,如果是新站还不差那几十块钱的话就配置一个吧。

时间: 2024-08-02 03:07:47

centos中Nginx 安装ssl证书步骤的相关文章

centos中Nginx安装Pydio基本设置详解

目前有好多的云存储的服务,如百度云.360云.Dropbox之类,虽然国产的云提供了大空间存储,但是总是有点怪异,目前百度云在下载方面出现了限速的行为,非要开通会员才能全速下载,弄得几百兆的宽带只能以200kb的速度下载,非常的不舒服. Dropbox和OneDrive都是国外的云服务,还有GoogleDrive之类,虽然给的空间比较小,但也都是良心之作,Dropbox算是我用的最好用的存储服务了.但就是需要配合SS用,OneDrive虽然在国内可用,但是用不习惯.  国外云存储 前段时间在网络

Nginx配置SSL证书签名的步骤

要保证Web浏览器到服务器的安全连接,HTTPS几乎是唯一选择.HTTPS其实就是HTTP over SSL,也就是让HTTP连接建立在SSL安全连接之上. SSL使用证书来创建安全连接.有两种验证模式: 仅客户端验证服务器的证书,客户端自己不提供证书: 客户端和服务器都互相验证对方的证书. 显然第二种方式安全性更高,一般用网上银行会这么搞,但是,普通的Web网站只能采用第一种方式. 客户端如何验证服务器的证书呢?服务器自己的证书必须经过某"权威"证书的签名,而这个"权威&q

linux中cPanel主机面板安装SSL证书实现HTTPS网址访问例子

SSL证书 SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发.该安全协议主要用来提供对用户和服务器的认证:对传送的数据进行加密和隐藏:确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准.由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了),即通过它可以激活SSL协议,实现数据信息在客户端和

【图解】nginx配置ssl双向验证及nginx https ssl证书配置教程

1.安装nginx centos下Nginx安装配置步骤详解 http://www.111cn.net/sys/CentOS/80387.htm windows下安装nginx 详解教程 http://www.111cn.net/wy/156/38731.htm 2.使用openssl实现证书中心 由于是使用openssl架设私有证书中心,因此要保证以下字段在证书中心的证书.服务端证书.客户端证书中都相同 Country Name  State or Province Name  Localit

cPanel面板安装SSL证书及cPanel一键安装Lets Encrypt免费SSL方法

老蒋在之前的博文中分享过很多免费SSL安全证书的申请和安装,不过大部分的安装都是基于VPS.服务器上部署的.由于公司项目的需要最近一段时间将不稳定的海外VPS.服务器上的网站都按照要求需要搬迁到速度较好的亚洲节点虚拟主机中,且有的网站有使用过SSL安全证书. 不过还好,目前大部分虚拟主机都采用的是cPanel面板,所以老蒋准备把网站如何部署到cPanel面板且迁移和使用SSL证书的过程记录下来.因为我们大部分网站并没有或者不需要使用到VPS.服务器,相对来说cPanel面板部署SSL证书比服务器

Windows+Apache下安装SSL证书的方法

一.Apache安装SSL证书需要三个配置文件:  (温馨提示:安装证书前请先备份您需要修改的服务器配置文件) 1_root_bundle.crt. 2_domainname.com.crt.3_ domainname.com.key.  注:这三个证书文件都在文件夹for Apache.zip中,   例:1_root_bundle.crt是根证书链,2_domainname.com.crt为公钥,3_ domainname.com.key为私钥.       (其中:证书公钥.私钥文件一般以

centos下Nginx安装配置步骤详解

nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息. 正式开始前,编译环境gcc g++ 开发库之类的需要提前装好,这里默认你已经装好. ububtu平台编译环境可以使用以下指令 apt-get install build-essential apt-get install libtool centos平台编译环境使用如下指令 安装make: yum -y install gcc automake autoconf libtool make 安装g++:

centos系统中tomcat的ssl配置步骤

最近因为用CAS做单点登录,需要配置SSL,过程是比较简单的,记录下各个步骤的含义,以免日后忘记. 需求场景:CAS单点登录,要求必须是SSL,服务器操作系统为CentOS,web容器为tomcat. 如果你作为服务提供方,那你需要看完全文 如果你作为需求客户方,那只需要看第三部分就可以了   步骤: 假设我们tomcat的路径为/opt/tomcat,在此目录下新建ssl目录用于存放证书:   cd /opt/tomcat/ssl   一.首先,我们需要生成SSL证书,用到keytool工具,

CentOS中编译安装Python2.7.8版本的步骤

心血来潮,想学习一下Python,听说用来做爬虫还不错.先从运行环境开始入手,CentOS中已经内置了Python,但版本似乎比较老,通过python -V命令看到版本是2.4.3.目前Python 2.x的最新版本号是2.7.8,那么就开始动手升级一下. 首先,下载源码包,命令如下: wget --no-check-certificate https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz 这里需要特别注意一下,因为下载网址是htt