15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > Nginx安装与升级 Nginx服务器 Nginx虚拟主机 、 HTTPS加密网站的学习

Nginx安装与升级 Nginx服务器 Nginx虚拟主机 、 HTTPS加密网站的学习

时间:2023-07-14 11:39:01 | 来源:网站运营

时间:2023-07-14 11:39:01 来源:网站运营

Nginx安装与升级 Nginx服务器 Nginx虚拟主机 、 HTTPS加密网站的学习:我的知识:

Nignx是一款轻量级,高并发量的Web服务器,也可以做反向代理服务器。

对于Nignx的安装,无非装包、配置、起服务。可以通过Yum去下载Nginx的包,由于Nginx不是通过源码安装的包,可以用 nginx -V 查看配置文件在那里,都开了哪些模块.如果是通过源码包安装的,需要给Nginx指定用户与用户组,否则会用root用户,这样的话,Nignx会有很大的权限,别人可以通过Nginx来攻击你的服务器。

对于升级Nignx服务器,如果是通过编译安装最新的源码包,先把..../bin/nginx 移动到其它地方,移动的时候顺便重命名;再把安装好的.../nginx 移动到 ..../bin/下,然后killall nginx,再启动。

Nignx虚拟主机,虚拟主机是可以基于端口、IP、域名进行解析的。

HTTPS加密网站,用户通过访问页面,需要提供密码方可访问。

材料知识:

Nginx 是俄罗斯人编写的轻量级的HTTP服务器,是一个高性能的HTTP服务器和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器。

如果是通过源码包安装的话,需要下载依赖包 gcc pcre-devel openssl-devel。

netstat -anultp | grep :80

查看Nginx是否启动,-a 显示所有端口的信息 -n 以数字格式显示端口 -u 显示UDP连接的端口 -l 显示服务正在监听的端口信息 -t 显示TCP连接的端口 -p 显示监听端口的服务名称是什么

在虚拟机练习Nginx的安装的时候,防火墙和SELinux 需要关闭。如果不关,需要通过该防火墙的策略与SELinux的配置,才允许Nginx运行。

通过Nginx实现Web页面的认证,需要修改Nginx配置文件,在配置文件中添加auth语句实现用户认证。最后使用htpasswd命令创建用户及密码即可。

SSL虚拟主机:源码安装Nginx时必须使用--with-http_ssl_module参数,启用加密模块,对于需要进行SSL加密处理的站点添加ssl相关指令(设置网站需要的私钥和证书)。

简单的未知领域:

Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

虚拟主机,是在网络服务器上划分出一定的磁盘空间供用户放置站点、应用组件等,提供必要的站点功能与数据存放、传输功能。

SSL(Secure Sockets Layer 安全套接层)协议,及其继任者TLS(Transport Layer Security传输层安全)协议,是为网络通信提供安全及数据完整性的一种安全协议。

SSL 证书就是遵守 SSL协议的服务器数字证书,由受信任的证书颁发机构(CA机构),验证服务器身份后颁发,部署在服务器上,具有网站身份验证和加密传输双重功能。

技术分析
为什么我不能在相同IP地址下多个域名的虚拟主机上使用SSL?
这个问题十分专业,有些像“先有鸡还是先有蛋”的问题。SSL协议层是在HTTP协议层下面的,当SSL连接建立时,SSL模块在Web模块之前和 浏览器进行通讯并交换证书、建立加密隧道。众所周知,Web服务器是通过HTTP数据包中的”Host”字段来区分虚拟主机的。而SSL模块在把服务器证 书发送到浏览器时,还没有收到任何关于HTTP的数据包,更不知道虚拟主机的域名,因此SSL模块只能固定的将一张SSL证书发送到浏览器,而不能根据域 名有选择性的发送证书。因此,您无法在一个IP地址的默认SSL 443端口下为多个虚拟主机配置多张证书。
由于一个IP与一个端口号只能对应一张证书,因此我们可以采用以下方式来解决:
1、为需要SSL加密的虚拟主机配置不同的IP地址,端口号都使用443。例如: http://www.domain1.com 的SSL使用 202.96.101.1:443 http://www.domain2.com的SSL使用 202.96.101.2:443,通过 https://www.domain1.comhttps://www.domain2.com 访问这2个SSL网站了
2、如果只有一个IP地址,可以为多个网站配置不同的SSL端口。例如: http://www.domain1.com 的SSL使用 202.96.101.1:443 http://www.domain2.com的SSL使用 202.96.101.1:1000,通过 https://www.domain1.comhttps://www.domain2.com:1000 访问这2个SSL网站了
如果多个虚拟主机是1个主域名下的多个子域名,情况发生了转变,因为你可以申请通配符SSL证书。
例如: 有2个虚拟主机 http://abc.domain.comhttp://xyz.domain.com,你申请一张 *.http://domain.com的证书,按照前面所说的原理,2个虚拟主机都使用同一个IP和默认的443端口,当浏览器访问IP:443端口时,SSL模块把 通配符SSL证书传送给浏览器,建立合法的SSL隧道,然后WEB模块接收到HTTP数据包时判断域名选择虚拟主机。
原理是OK的,不幸的是你无法按照这个原理对IIS进行配置,IIS不支持SSL端口配置域名。如果仅依靠IIS,你不得不使用上面的2个方法(不同的IP地址或者不同的端口号)。
如果仅有1个IP地址,采用方法2时,http://abc.domain.com 使用 443端口、http://xyz.domain.com使用1000端口,你会发现一个现象,由于SSL端口不区分域名,因此 https://abc.domain.com还是https://xyz.domain.com都是指向http://abc.domain.com网站内容,而 https://abc.domain.com:1000还是https://xyz.domain.com:1000都是指向 http://xyz.domain.com网站内容的。当然这也有好处,你可以在http://abc.domain.com下放一个程序,程序判断一下域名,如果用户访问 https://xyz.domain.com就马上跳转到https://xyz.domain.com:1000,不会有任何的安全警告。
幸运的是,通过SSL反向代理服务器,你可以解决这个问题。就是使用第三方的SSL模块来替代IIS处理SSL加密,将证书安装反向代理服务器中, 浏览器访问SSL反向代理服务器,然后反向代理服务器使用HTTP协议访问你的Web服务器。你可以选择SSL反向代理硬软件有: 1、支持SSL的负载均衡器,如F5、ArrayNetworks
2、使用ISA Server 2004软件。
3、使用免费的Squid软件。
4、使用免费的Stunnel软件。
5、使用PortTunnel软件。
延伸未知领域:

除了Nginx服务器,还有哪些Web服务器?它们之间有什么相同与不同?

关键词:学习,主机,安装,升级,服务,虚拟

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭