nginx搭建SSL

安装基础组件
yum -y isntall firewalld
yum -y install gcc gcc-c++
yum -y install pcre-devel
yum -y install zlib-devel
yum -y install openssl openssl-devel

下载与代码(假设当前在 ~/ 目录下)

wget https://nginx.org/download/nginx-1.12.2.tar.gz
wget https://www.openssl.org/source/openssl-1.0.2n.tar.gz

解压

cd /opt
tar zxf nginx-1.12.2.tar.gz
tar zxf openssl-1.0.2n.tar.gz


编译前配置,让nginx支持ssl_module与openssl

cd nginx-1.12.2
./configure --with-http_ssl_module --with-openssl=/opt/openssl-1.0.2n

编译

make
make install

安装完成后的nginx路径是: /usr/local/nginx

 

#启动 /usr/local/nginx/sbin/nginx

#重启 /usr/local/nginx/sbin/nginx -s reload

#关闭 /usr/local/nginx/sbin/nginx -s stop

配置防火墙

把firewalld注册成服务并启动

systemctl enable firewalld
systemctl start firewalld

允许TCP协议下的 80,443 端口 暴露到互联网

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload

运行测试
检查防火墙端口

firewall-cmd --list-ports
#看看输出有没有80/tcp与443/tcp
 

想搭建一个ssl的网站但是证书制作总是出现一些奇奇怪怪的问题 总算找到一个好使的方法了

感谢https://blog.csdn.net/keketrtr/article/details/78580717

# 生成一个RSA** 
$ openssl genrsa -des3 -out ethan.key 1024
 
# 拷贝一个不需要输入密码的**文件
$ openssl rsa -in ethan.key -out ethan_pass1.key
 
# 生成一个证书请求
$ openssl req -new -key ethan.key -out ethan.csr
 
# 自己签发证书
$ openssl x509 -req -days 365 -in ethan.csr -signkey ethan.key -out ethan.crt

第3个命令是生成证书请求,会提示输入省份、城市、域名信息等,重要的是,email一定要是你的域名后缀的。这样就有一个 csr 文件了,提交给 ssl 提供商的时候就是这个 csr 文件。当然我这里并没有向证书提供商申请,而是在第4步自己签发了证书。

nginx+ssl搭建

编辑配置文件nginx.conf,给站点加上HTTPS协议

server {
        listen 443 ssl;
        server_name www.yourdomain.com;
        ssl_certificate /usr/local/ssl/33iq.crt;
        ssl_certificate_key /usr/local/ssl/33iq_nopass.key;
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        #禁止在header中出现服务器版本,防止黑客利用版本漏洞攻击
        server_tokens off;
        #如果是全站 HTTPS 并且不考虑 HTTP 的话,可以加入 HSTS 告诉你的浏览器本网站全站加密,并且强制用 HTTPS 访问
        fastcgi_param   HTTPS               on;
        fastcgi_param   HTTP_SCHEME         https;
        access_log /usr/local/nginx/logs/httpsaccess.log;
}

先检验配置的对不对:

/usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

重启nginx:

/usr/local/nginx/sbin/nginx -s reload
 

nginx+ssl搭建

 

 

证书算法说明

1.RC4与DES/AES一样是一种对称加密算法

2.算法的说明,TLS_RSA_WITH_AES_128_CBC_SHA256:TLS--SSL还是TSL,RSA--所用非对称加密算法,AES--所用对称加密算法,128--对称加密分组长度,CBC--分组加密模式,SHA256--所用完整性验证算法

相关文章: