Nginx与Https加密网站

作者 : 开心源码 本文共2666个字,预计阅读时间需要7分钟 发布时间: 2022-05-11 共104人阅读

一、Web服务器比照

Unix和Linux平台下

–Apache、Nginx、Tengine、Lighttpd

–Tomcat、IBM WebSphere、Jboss

Windows平台下

–微软公司的IIS(Internet Information Server)

二、Nginx(“engine x”)简介

1.是俄罗斯人编写的十分轻量级的HTTP服务器。

2.是一个高性能的HTTP和反向代理商服务器,同时也是一个IMAP/POP3/SMTP代理商服务器。

三、搭建Nginx服务器

1.Yum安装依赖包 gcc pcre-devel openssl-devel

2.创立使用户及组 nginx(防止用root使用户被人攻击网站时取得root权限)

3.解压nginx源码包,进入压缩包,设置配置文件

./configrue

–prefix=/usr/local/nginx \ //指定安装路径,默认为这个

–user=nginx \

–group=nginx \

–with-http_ssl_module //指定所要安装的板块,nginx为板块化安装,可根据个人需求选择合适的板块进行安装,这个为ssl加密功能

–….

4.make && make install //编译并安装

5.Ln -s /usr/local/nginx/sbin/nginx/ /sbin/ //创立软链接,方便用

6.nginx命令的用

Nginx //启动服务

Nginx -s stop //关闭服务

Nginx -s reload //重新加载配置文件

Nginx -V //查看软件信息

Ps : netstat与ss命令都是查看系统中启动的端口信息,常使用选项有:

-a:显示所有端口的信息

-n:以数字格式显示端口号

-t:显示TCP连接的端口

-u:显示UDP连接的端口

-l:显示服务正在监听的端口信息,nginx和httpd都是80,不可同时启使用

-p:显示监听端口的服务名称是什么(程序名称)

7.关防火墙和selinux,访问测试页面,默认的网页根目录为/usr/local/nginx/html/

四、更新nginx服务器

1.编译新版本nginx软件,无需安装(./xxx make)

2.备份老的nginx主程序。并用编译好的新版本nginx替换老版本

Mv /usr/local/nginx/sbin/nginx > /usr/local/nginx/sbin/nginxold

//备份的好处是当新版本不好使用时可降回老版本

Cp 新版本目录下的objs/nginx /usr/local/nginx/sbin/ //拷贝新版本

Make upgrade 或者 killall nginx 再重启

3.检查版本 -V

五、Nginx配置文件的基本框架

Vim /usr/local/nginx/conf/nginx.conf

全局配置(使用户名,日志,进程)

User nginx; //进程所有者

Worker_processer 1; //启动进程数量(一般与cpu核数一样)

Error_log /var/log/nginx/error.log; //日志文件

Pid /var/run/nginx.pid; //PID文件

Events{

Worker_connections 1024; //单个进程最大并发量

}

http{

Server{ //定义虚拟主机

Listen 80;

Server_name localhost;

Location{ //发布目录

Root html;

Index ….

}

}

Server{

Listen 80;

Server_name www.xx.com;

Root www;

}

}

六、Nginx设置使用户认证界面

目标:访问页面需要通过使用户名:tom,密码:123456来登陆后才可以访问

1.修改配置文件

Server下{

Auth_basic “认证提醒信息”;

Auth_basic_user_file “/usr/local/nginx/pass” //认证密码文件

Location前{}

}

2.安装生成密码的文件(httpd-tools),并创立使用户和密码

Htpasswd -c /usr/local/nginx/pass tom //创立密码文件,与配置文件里面的路径对应

Htpasswd /usr/local/nginx/pass azby //追加使用户,不用-c选项

Cat /usr/local/nginx/pass //查看使用户能否创立成功

3.重启nginx服务并访问测试

七、Nginx虚拟主机

分类:基于域名、端口、IP的虚拟主机

1.基于端口的虚拟主机

Server{

Listen 8080; //端口

Server_name www.xx.com;

}

Server{

Listen 8000; //端口

Server_name www.xxcom;

}

2.基于IP的虚拟主机

Server{

Listen 192.168.0.1:80;

Server_name www.xx.com;

}

Server{

Listen 192.168.0.2:8;;

Server_name www.xxcom;

}

3.基于域名的虚拟主机

Server{ //定义虚拟主机

Listen 80;

Server_name www.yy.com; //域名1

Location / { //发布目录

Root html; /usr/local/nginx/html/

Index …. //首页文件

}

}

Server{

Listen 80;

Server_name www.xx.com;

Location / { //发布目录

Root www; /usr/local/nginx/www/

Index ….

}

}

八、HTTPS加密网站

1.密钥分类

对称密钥:AES、DES 应使用:RAR、ZIP压缩加密(单机加密)需要告诉别人密码,所以多使用于单机

非对称密钥:RSA、DSA 应使用:网络加密(https、ssh),对方有私钥,发传输信息使用公钥加密,只有对方能解密

Hash值:MD5、SHA256、SHA512 应使用:数据完整性校验,文件妙传

2.配置ssl加密网站

生成私钥 openssl genrsa > cert.key

生成证书 openssl req -new -x509 -key cert.key > cert.pem

修改配置文件

Server{

Ssl_certificate cert.pem; //指定证书文件

Ssl_certificate_key cert.key; //指定私钥文件

去掉配置文件里关于ssl的注释

Location{}

}

重启并https访问验证

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Nginx与Https加密网站

发表回复