如何在CentOS 7上安装Oxwall
Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,
HTTP / 2是现已过时的HTTP / 1.1协议的新版本,该协议早在1999年就已标准化。此后,网络上发生了许多变化。我们的应用程序比返回的应用程序要复杂得多,因此,为解决这一问题,必须更改基础传输协议。关于 HTTP / 2的最重要的事情是它将使最终用户的网页速度更快。
简而言之,HTTP / 2添加了5个关键功能:
解释所有这些功能不在本教程的讨论范围之内,但是如果您想更深入地研究本主题,我可以推荐《高性能浏览器网络》一书的摘录-HTTP / 2摘录。
在本指南中,我们将在Ubuntu 16.04(Xenial)上安装Nginx的最新稳定版本,生成自签名SSL证书,在Nginx中启用HTTP / 2协议,并安装基于文本的浏览器elinks
以充当HTTP客户端。
要安装最新的Nginx稳定版本,我们需要发出很多命令:
我们需要下载用于对软件包和存储库进行签名的Nginx公共PGP密钥,并将其添加到软件包管理器使用的密钥环中,以验证从存储库下载的软件包的真实性。
wget https://nginx.org/keys/nginx_signing.key && apt-key add nginx_signing.key
从文件系统中删除PGP密钥:
rm nginx_signing.key
添加新的存储库
printf "deb http://nginx.org/packages/ubuntu/ xenial nginx \ndeb-src http://nginx.org/packages/ubuntu/ xenial nginx \n" >> /etc/apt/sources.list.d/nginx.list
更新您的软件包列表并安装Nginx:
apt update && apt install nginx -y
要验证Nginx版本,我们可以使用以下命令:
nginx -v
# nginx version: nginx/1.10.1
如果一切顺利1.10.x
,运行nginx -v
命令时,您应该会在输出中看到类似的模式。
虽然HTTP / 2规范没有强制浏览器实现HTTP / 2 TLS上,所有主要浏览器决定只实现HTTP / 2通过TLS,但不是任何TLS版本,仅TLS 1.2或更高版本。
我们将为虚构example.com
域创建自签名证书,对于生产,您需要有效域并使用受信任的CA。
生成私钥:
openssl genrsa -aes128 -out example.com.key 2048
运行此命令后,您需要输入两次密码。因为密码短语很烦人,所以我们将其删除。
从私钥中删除密码:
openssl rsa -in example.com.key -out example.com.key
生成证书签名请求(CSR):
openssl req -new -sha256 -key example.com.key -out cert-request.csr
我们正在创建单域证书,因此我们需要将公共名称字段设置为等于
example.com
域
创建证书:
openssl x509 -req -days 365 -in cert-request.csr -signkey example.com.key -out example.com.crt
整理证书和私钥:
mkdir -p /etc/ssl/testing/private && mkdir /etc/ssl/testing/certs
mv example.com.key /etc/ssl/testing/private && mv example.com.crt /etc/ssl/testing/certs
制作Nginx虚拟主机目录
mkdir /etc/nginx/sites-available && mkdir /etc/nginx/sites-enabled
然后运行nano /etc/nginx/nginx.conf
并找到指令include /etc/nginx/conf.d/*.conf;
。在此伪指令下添加include /etc/nginx/sites-enabled/*;
保存(CTRL + O),然后退出(CTRL + X)。
##
# Virtual Hosts
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
使用此命令example.com.conf
在/etc/nginx/sites-available
目录内创建一个文件,nano /etc/nginx/sites-available/example.com.conf
然后复制/粘贴以下代码:
server {
listen 80;
listen [::]:80;
server_name example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.com;
root /var/www/html;
index index.nginx-debian.html;
ssl_certificate /etc/ssl/testing/certs/example.com.crt;
ssl_certificate_key /etc/ssl/testing/private/example.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
ssl_prefer_server_ciphers on;
}
恭喜,您现在已启用HTTP / 2的 Web服务器。在HTTPS虚拟主机内部http2
的listen
指令中添加参数将为您提供HTTP / 2支持。
/etc/nginx/sites-available/example.com.conf
使用以下命令为其创建符号链接:
ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled
测试配置语法
nginx -t
重新启动Nginx以应用您的更改:
systemctl restart nginx
将example.com
域添加到/etc/hosts
文件
echo '127.0.0.1 example.com' >> /etc/hosts
要测试您的虚拟主机,我们需要基于文本的浏览器-elinks。
要安装elink,请使用以下命令:
apt install elinks
要测试您的example.com
虚拟主机运行:
elinks https://example.com
要退出elinks浏览器,请按键盘上的q,然后按Enter。
要查看服务器发布哪种协议的最简单方法是使用openssl
工具箱。
openssl s_client -connect example.com:443 -nextprotoneg ''
在此命令的输出中,您应该看到如下所示:
CONNECTED(00000003)
Protocols advertised by server: h2, http/1.1
要查看运行中的HTTP / 2,可以使用浏览器开发人员工具。HTTP / 2协议用h2
或HTTP/2.0
标识符表示。在开发工具中打开网络面板,然后刷新页面。
现在,您应该知道在Nginx配置中启用HTTP / 2是多么“容易” ,但这并不是整体的全部。首先,您应该考虑使用强大的密码套件在服务器上启用TLS / SSL,并确保您没有使用列入黑名单的密码。只有在服务器上启用了强大的TLS / SSL之后,您才可以开始考虑启用HTTP / 2。
Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,
使用其他系统?Review Board是一个免费且开源的工具,用于检查源代码,文档,图像等。这是基于网络的软件战
使用其他系统?October 1.0 CMS是基于Laravel框架构建的简单,可靠,免费和开源的内容管理系统(CMS)
Xubuntu是XFCE + Ubuntu!XFCE是Ubuntu的轻量级GUI /桌面。Vultr服务器需要其他依赖项,默认情况下未安装这些依赖项。
使用其他系统?Monica是一个开源的个人关系管理系统。可以将其视为CRM(销售团队使用的一种流行工具
简介SSL(代表安全套接字层)及其后续版本TLS(代表传输层安全性)是需要加密的加密协议。
使用其他系统?MODX Revolution是一种快速,灵活,可扩展,免费和开源的企业级内容管理系统(CMS),由
朱莉娅(Julia)通常称为JuliaLang,是一种用于数值计算的编程语言。Julia的速度和C一样快,但是却不牺牲可读性
Ruby on Rails(RoR)是用Ruby编程语言编写的框架,可让您将Ruby与HTML,CSS和类似的程序结合使用。
使用其他系统?Anchor是用PHP编写的轻量级开源博客CMS。Anchors源代码托管在GitHub上。本指南将向您展示
简介Debian 10(Buster)是Debian 9(Stretch)的后继产品。它于2019年7月6日发布。在本教程中,我们将升级一个existin
在Linux服务器上正确设置日期和时间非常重要。您的服务器日志和其他重要信息都将反映时区
使用其他系统?Taiga是用于项目管理的免费和开源应用程序。与其他项目管理工具不同,Taiga使用增量
本文是有关在Ubuntu 14.04上安装和配置Nagios的2部分系列文章的一部分。第1部分:Nagios服务器第2部分:远程主机概述Nagio
Vultr提供了几种不同的方式来访问VPS以进行配置,安装和使用。访问凭据VPS ar的默认访问凭据
使用其他系统?Grav是用PHP编写的开源平面文件CMS。Grav源代码公开托管在GitHub上。本指南将向您展示如何
使用其他系统?Pagekit 1.0 CMS是一个美观,模块化,可扩展,轻量级,免费和开源的内容管理系统(CMS),具有
使用其他系统?BigTree CMS 4.2是一种快速,轻量级,免费和开源的企业级内容管理系统(CMS),具有广泛的功能。
FTP是用于通过Internet传输文件的有用协议,本指南将向您展示如何设置vsFTPd(非常安全的文件传输协议守护程序)o
简介如果您经营一个重要的网站,则最好将文件镜像到辅助服务器。如果您的主服务器有网络
在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。
快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。
学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。
使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。
了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。
Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+
閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。
最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息