Ubuntu 16.04 上的 NGINX Web 服务器!
来源:互联网 发布:数据安全解决方案 编辑:程序博客网 时间:2024/06/06 01:55
特别地,该软件可在可以使用 shell 的服务器上使用:换句话说,它可以通过 SSH 连接使用。
在本教程中,我们将看到如何使用 certbot 获取免费的 SSL 证书,并在 Ubuntu 16.04 服务器上使用 Nginx。
第一步是安装 certbot,该软件客户端可以几乎自动化所有的过程。 Certbot 开发人员维护自己的 Ubuntu 仓库,其中包含比 Ubuntu 仓库中存在的软件更新的软件。
添加 Certbot 仓库:
# add-apt-repository ppa:certbot/certbot
接下来,更新 APT 源列表:
# apt-get update
此时,可以使用以下 apt 命令安装 certbot:
# apt-get install certbot
Certbot 现已安装并可使用。
有各种 Certbot 插件可用于获取 SSL 证书。这些插件有助于获取证书,而证书的安装和 Web 服务器配置都留给管理员。
我们使用一个名为 Webroot 的插件来获取 SSL 证书。
在有能力修改正在提供的内容的情况下,建议使用此插件。在证书颁发过程中不需要停止 Web 服务器。
Webroot 会在 Web 根目录下的 .well-known 目录中为每个域创建一个临时文件。在我们的例子中,Web 根目录是 /var/www/html。确保该目录在 Let’s Encrypt 验证时可访问。为此,请编辑 NGINX 配置。使用文本编辑器打开 /etc/nginx/sites-available/default:
# $EDITOR /etc/nginx/sites-available/default
在该文件中,在 server 块内,输入以下内容:
location ~ /.well-known {allow all;}
保存,退出并检查 NGINX 配置:
# nginx -t
没有错误的话应该会显示如下:
nginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful
重启 NGINX:
# systemctl restart nginx
下一步是使用 Certbot 的 Webroot 插件获取新证书。在本教程中,我们将保护示例域 www.example.com。需要指定应由证书保护的每个域。执行以下命令:
# certbot certonly --webroot --webroot-path=/var/www/html -d www.example.com
在此过程中,Cerbot 将询问有效的电子邮件地址,用于进行通知。还会要求与 EFF 分享,但这不是必需的。在同意服务条款之后,它将获得一个新的证书。
最后,目录 /etc/letsencrypt/archive 将包含以下文件:
- chain.pem:Let’s Encrypt 加密链证书。
- cert.pem:域名证书。
- fullchain.pem:cert.pem和 chain.pem 的组合。
- privkey.pem:证书的私钥。
Certbot 还将创建符号链接到 /etc/letsencrypt/live/domain_name/ 中的最新证书文件。这是我们将在服务器配置中使用的路径。
下一步是服务器配置。在 /etc/nginx/snippets/ 中创建一个新的代码段。 snippet 是指一段配置,可以包含在虚拟主机配置文件中。如下创建一个新的文件:
# $EDITOR /etc/nginx/snippets/secure-example.conf
该文件的内容将指定证书和密钥位置。粘贴以下内容:
ssl_certificate /etc/letsencrypt/live/domain_name/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/domain_name/privkey.pem;
在我们的例子中,domain_name 是 example.com。
编辑默认虚拟主机文件:
# $EDITOR /etc/nginx/sites-available/default
如下:
server {listen 80 default_server;listen [::]:80 default_server;server_name www.example.comreturn 301 https://$server_name$request_uri;# SSL configuration#listen 443 ssl default_server;listen [::]:443 ssl default_server;include snippets/secure-example.conf## Note: You should disable gzip for SSL traffic.# See: https://bugs.debian.org/773332# ...}
这将启用 NGINX 加密功能。
保存、退出并检查 NGINX 配置文件:
# nginx -tnginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful
重启 NGINX:
# systemctl restart nginx
按照上述步骤,此时我们已经拥有了一个安全的基于 NGINX 的 Web 服务器,它由 Certbot 和 Let’s Encrypt 提供加密。这只是一个基本配置,当然你可以使用许多 NGINX 配置参数来个性化所有东西,但这取决于特定的 Web 服务器要求。
via: https://www.unixmen.com/encryption-secure-nginx-web-server-ubuntu-16-04/
作者:Giuseppe Molica 译者:geekpi 校对:wxy
本文由 LCTT 原创编译,Linux中国 荣誉推出
本文地址:http://www.linuxprobe.com/ubuntu-nginx-web.html
- Ubuntu 16.04 上的 NGINX Web 服务器!
- Ubuntu 16.04 上的 NGINX Web 服务器!
- Ubuntu 16.04 上的 NGINX Web 服务器!
- ubuntu 14.4 上 nginx服务器的安装
- Ubuntu 11.04 安装nginx+php5+mysql 的web服务器
- Ubuntu 11.04 安装nginx+php5+mysql 的web服务器
- Ubuntu系统上安装Nginx服务器的简单方法
- Ubuntu系统上安装Nginx服务器的简单方法
- Ubuntu的web服务器搭建系列之Nginx(JDK+Tomcat+MySQL+Nginx+Redis+NodeJS)
- Ubuntu上使用Apache搭建web服务器
- web服务器之LNMP(1)Ubuntu中Nginx的安装与配置
- Ubuntu的web服务器搭建系列之MySQL(JDK+Tomcat+MySQL+Nginx+Redis+NodeJS)
- Ubuntu的web服务器搭建系列之MySQL(JDK+Tomcat+MySQL+Nginx+Redis+NodeJS)
- Ubuntu的web服务器搭建系列之Redis(JDK+Tomcat+MySQL+Nginx+Redis+NodeJS)
- 通过Nginx反向代理管理服务器上的多个web应用程序
- Ubuntu Web服务器的搭建
- Ubuntu 9.04 Server 搭建Nginx+PHP5+MySQL完美Web服务器
- ubuntu 12.04 安装 nginx+php+mysql web服务器
- Linux zip 与 unzip命令详解
- ORA-00911: invalid character 错误解决
- HDU 6162 Ch’s gift (树的路径问题 DFS LCA 17多校第九场第2题)
- POJ2437
- schost.exe总是占用内存
- Ubuntu 16.04 上的 NGINX Web 服务器!
- #21
- 弱水三千,我饮三千---JSON,GSON,FastJSON详解
- git基础命令使用
- BZOJ 1965: [Ahoi2005]SHUFFLE 洗牌 快速幂 快速乘
- Python中定义字符串
- hibernate第二次课 数据库关系设计
- ftp 主动模式和被动模式
- [剑指offer]链表中倒数第k个结点