nginx和ssl模块

这篇具有很好参考价值的文章主要介绍了nginx和ssl模块。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SSL:安全套接字层,由Netscape公司于1994年创建,它旨在通过Web创建安全的Internet通信。
    它是一种标准协议,用于加密浏览器和服务器之间的通信。它允许通过Internet安全轻松地传输账号密码、银行卡、手机号等私密信息。
SSL常见应用:    
    https:启用ssl加密的安全HTTP传输协议 443
    ipsec vpn
PKI:公钥基础设施,主要功能是绑定证书持有者的身份和相关的密钥对(通过为公钥及相关的用户身份信息签发数字证书),
    为用户提供方便的证书申请、证书作废、证书获取、证书状态查询的途径,
    并利用数字证书及相关的各种服务(证书发布,黑名单发布,时间戳服务等),
    实现通信中各实体的身份认证、完整性、抗抵赖性和保密性.
    标准:x.509
CA:证书颁发机构
RA:证书注册机构
证书的内容:
    申请者的公钥
    申请者的身份标识
    证书有效期
    颁发者的标识
    颁发者的签名
    
HTTPS证书的选择
    DV型  域名型,不显示企业名
    OV型  企业型,显示企业名
    EV型  企业增强型,防止代申请
    
HTTPS证书购买选择
    单域名:仅能绑定一个域名
    多域名:能绑定五个域名
    通配符域名:不限个数
    
HTTPS注意事项
    https仅支持二级域名     
    https不支持续费,证书到期重新申请替换
    https显示绿色,说明整个网站都是https的
    https显示黄色,网站代码中包含https不安全链接
    https显示红色,证书不认或过期
    
企业内部实现https案例:
生成key密钥
生成证书签名请求文件(csr文件)
生成证书签名文件(ca文件)

1.查看是否安装openssl和版本

rpm -q openssl
yum -y install openssl
openssl version

  查看nginx是否安装ssl模块
nginx -V  显示结果包含: --with-http_ssl_module

  创建ssl密钥目录,并进入目录

mkdir -p /etc/nginx/ssl_key 
cd /etc/nginx/ssl_key

2.本机当CA:证书颁发机构,创建私钥

openssl genrsa -idea -out server.key 2048

3.生成证书,去掉私钥的密码

openssl req -days 3650 -x509 -sha256 -nodes -newkey rsa:2048 -keyout server.key -out server.crt

4.配置https网站

vim /etc/nginx/conf.d/https.conf


添加:

server {
        listen 443 ssl;
        server_name https.benet.com;
        ssl_certificate ssl_key/server.crt;
        ssl_certificate_key ssl_key/server.key;

        location / {
                root /httpsweb;
                index index.html;
        }
}


保存退出

mkdir /httpsweb
echo "<h1>https.benet.com</h1>" > /httpsweb/index.html
systemctl restart nginx 

5.客户机修改hosts文件,使用https://https.benet.com访问测试。6.rewrite地址重写(http重定向到https)

vim /etc/nginx/conf.d/https.conf
server {
        listen 443 ssl;
        server_name https.benet.com;
        ssl_certificate ssl_key/server.crt;
        ssl_certificate_key ssl_key/server.key;

        location / {
                root /httpsweb;
                index index.html;
        }
}
server {
        listen 80;
        server_name https.benet.com;
#       rewrite .* https://https.benet.com;
#       rewrite .* https://$host$request_uri redirect;
#       rewrite .* https://$server_name$request_uri redirect;
        rewrite .* https://$server_name$1 redirect;
}


保存退出7.配置负载均衡https

vim /etc/nginx/conf.d/lb_https.conf


添加:

upstream webhttps {
        server 192.168.1.109:443;
        server 192.168.1.111:443;
}

server {
        listen 443 ssl;
        server_name https.benet.com;
        ssl_certificate ssl_key/server.crt;
        ssl_certificate_key ssl_key/server.key;

        location / {
                proxy_pass https://webhttps;
        }
}
server {
        listen 80;
        server_name https.benet.com;
        return 302 https://$server_name$1;
}


保存退出8.模拟案例:配置https的blog、zh(web2和web1配置相同)选做
(1)配置web1的blog

vim /etc/nginx/conf.d/blog.conf


添加:

server {
        listen 443 ssl;
        server_name blog.benet.com;
        ssl_certificate ssl_key/server.crt;
        ssl_certificate_key ssl_key/server.key;
        root /wordpress;
        index index.php index.html;

        location ~ \.php$ {
                root /wordpress;
                fastcgi_pass 192.168.1.110:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}
server {
        listen 80;
        server_name blog.benet.com;
#       rewrite .* https://blog.benet.com;
#       rewrite .* https://$host$request_uri redirect;
#       rewrite .* https://$server_name$request_uri redirect;
        rewrite .* https://$server_name$1 redirect;
}


保存退出(2)配置web1的zh

vim /etc/nginx/conf.d/zh.conf


添加:

server {
        listen 443 ssl;
        server_name zh.benet.com;
        ssl_certificate ssl_key/server.crt;
        ssl_certificate_key ssl_key/server.key;
        root /zh;
        index index.php index.html;

        location ~ \.php$ {
                root /zh;
                fastcgi_pass 192.168.1.110:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}
server {
        listen 80;
        server_name zh.benet.com;
#       rewrite .* https://zh.benet.com;
#       rewrite .* https://$host$request_uri redirect;
#       rewrite .* https://$server_name$request_uri redirect;
        rewrite .* https://$server_name$1 redirect;
}


保存退出    

nginx -t


systemctl restart nginx(3)配置负载均衡lb1

vim /etc/nginx/conf.d/lb1.conf


添加:

upstream web_cluster {
        server 192.168.1.109:443;
        server 192.168.1.111:443;
}

server {
        listen 443 ssl;
        server_name blog.benet.com;
        ssl_certificate ssl_key/server.crt;
        ssl_certificate_key ssl_key/server.key;
        location / {
                proxy_pass https://web_cluster;
                include nginx_params;
        }
}
server {
        listen 443 ssl;
        server_name zh.benet.com;
        ssl_certificate ssl_key/server.crt;
        ssl_certificate_key ssl_key/server.key;
        location / {
                proxy_pass https://web_cluster;
                include nginx_params;
    }
}
server {
        listen 80;
        server_name blog.benet.com;
        return 302 https://$server_name$1;
}
server {
        listen 80;
        server_name zh.benet.com;
        return 302 https://$server_name$1;
}


保存退出

nginx -t
systemctl restart nginx

==============================
www.baidu.com.         #FQDN 完整合格域名

.         根服务器,世界共13台(美8  欧4  日1)
com     顶级或一级服务器(com 商业; gov 政府;edu 教育;mil 军事;org 自由论坛;net 网络组织;cn 中国;us 美国)
baidu    二级域名
www        主机头文章来源地址https://www.toymoban.com/news/detail-709526.html

到了这里,关于nginx和ssl模块的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Nginx37】Nginx学习:SSL模块(一)简单配置与指令介绍

    又是一个重点模块,SSL 模块,其实就是我们常见的 HTTPS 所需要的配置模块。HTTPS 的重要性不用多说了吧,现在所有的 App、小程序 都强制要求是 HTTPS 的,即使是网站开发,百度也明确了对 HTTPS 的收录会更好。也就是说,HTTPS 已经成为了事实上的正式环境协议标准。 在 Ngin

    2024年02月06日
    浏览(32)
  • Nginx安装http2和ssl模块

    Nginx在执行默认安装命令的时候,并不会编译启用ngx_http_v2_module模块。故在修改Nginx配置文件启用http2.0协议的时候会报错。 一.检查Nginx安装了哪些模块 如图就是没有安装ngx_http_v2_module模块 二.重新编译Nginx Nginx有两个目录,一个是安装目录,一个是源码目录,安装目录就是执

    2024年01月16日
    浏览(40)
  • 【基础篇】Nginx安装 SSL模块、配置 HTTPS详细步骤

    nginx安装 1、查看 nginx是否安装 http_ssl_module 模块 如果出现 configure arguments: –with-http_ssl_module, 则已安装(下面的步骤可以跳过,进入 SSL 证书部署、nginx.conf 配置)。 否则按下述执行命令。 2、进入nginx源码包,重新执行下面命令,重新编译安装三部曲 3、上述命令执行完以后

    2023年04月16日
    浏览(55)
  • 在Nginx上启用HTTPS:编译SSL模块并配置安全连接的完整指南

    在安装Nginx时,默认情况下可能不包括HTTPS支持,要启用HTTPS,需要确保Nginx编译时包含了SSL模块。以下是详细的步骤,用于在Nginx上启用HTTPS: Linux下Nginx的安装与基本命令操作指南 配置Nginx : 在配置Nginx之前,检查是否已经启用了SSL模块: 如果看不到 --with-http_ssl_module 选项,

    2024年04月28日
    浏览(37)
  • 【Nginx】【SSL】Nginx上配置ssl证书

    配置需要有自己的域名和云主机;域名已经解析到主机;安装好Nginx 阿里云搜索 ssl 找到 数字证书管理服务/SSL 证书免费证书;申请一个免费的 选择其他类型,图中的Nginx的不行;将其放到服务器的 /opt/ssl/sslOther/ 目录下 使用Vim编辑在 /etc/nginx 目录下的 nginx.conf 文件 1、解除掉

    2024年02月03日
    浏览(43)
  • 【Nginx运维】Nginx升级打补丁

    升级nginx的过程主要需要以下步骤: 1.备份当前nginx版本及其配置文件。 2.下载新版本的nginx安装包。(如nginx-1.20.1.tar.gz) 3.解压缩安装包,并进入该目录。 4.使用configure脚本配置编译选项。 5.执行make命令进行编译。 make 6.停止旧版本的nginx服务,启动新版本nginx服务。 7.验证

    2024年02月12日
    浏览(36)
  • MySQL运维实战(2.4) SSL认证在MySQL中的应用

    作者:俊达 MySQL支持使用TLS协议进行通信,该协议在数据库通信中具有关键作用。首先,TLS能够加密客户端与服务端之间的通信数据,涵盖了客户端发送至服务端的SQL请求以及服务端返回给客户端的数据,从而确保敏感信息的保密性和完整性。除此之外,TLS还允许客户端验证

    2024年02月03日
    浏览(38)
  • 【运维安全】运维界葵花宝典:Nginx配置与优化秘籍

    必要的原理介绍 ● Nginx 里有一个master进程和多个worker进程.master进程并不处理网络请求,主要负责调度工作进程: 加载配置,启动工作进程及非停升级.worker进程负责处理网络请求与响应. ● master进程主要用来管理worker进程,具体包括如下4个主要功能: 接收来自外界的信号 向各wo

    2024年02月21日
    浏览(46)
  • nginx配置SSL数字证书、报错nginx: [emerg] the “ssl“ parameter requires ngx_http_ssl_module in

    nginx一般默认安装目录是 /usr/local/nginx,请按自己实际安装目录操作 名称 命令 查看版本 /usr/local/nginx/sbin/nginx -v 启动服务 /usr/local/nginx/sbin/nginx 重启服务 /usr/local/nginx/sbin/nginx-s restart 停止服务 /usr/local/nginx/sbin/nginx -s stop 是否启动 ps -ef | grep nginx 强制结束 kill 进程ID (如:kil

    2024年02月15日
    浏览(55)
  • 【07】Nginx之SSL

    如何使用SSL对流量进行加密 翻译成大家能熟悉的说法就是将我们常用的http请求转变成https请求,那么这两个之间的区别简单的来说两个都是HTTP协议,只不过https是身披SSL外壳的http. HTTPS是一种通过计算机网络进行安全通信的传输协议。它经由HTTP进行通信,利用SSL/TLS建立全通

    2024年02月10日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包