CentOS 7.3 安装部署 Nginx 并配置 HTTPS 的方法步骤如下:
安装Nginx
在 CentOS 7.3 上安装 Nginx 的方法有两种,下面将分别进行介绍:
方法一:使用 yum 命令进行安装
sudo yum install epel-release
sudo yum install nginx
方法二:手动编译安装
sudo yum groupinstall 'Development Tools'
sudo yum install pcre-devel openssl-devel zlib-devel
wget http://nginx.org/download/nginx-1.13.6.tar.gz
tar zxvf nginx-1.13.6.tar.gz
cd nginx-1.13.6
sudo ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
sudo make
sudo make install
安装完成后,使用如下命令启动 Nginx:
sudo systemctl start nginx
此时,可以在浏览器中输入服务器 IP 地址或域名,检查是否成功安装 Nginx。
配置 HTTPS
由于 HTTPS 是基于 SSL/TLS 加密的,因此需要使用证书。下面将分别介绍如何生成 SSL 证书和配置 Nginx 支持 HTTPS。
生成 SSL 证书
使用 OpenSSL 工具生成自签名的 SSL 证书,可以使用如下命令:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
其中,nginx.key
为生成的私钥文件,nginx.crt
为生成的证书文件。在生成过程中,需要输入一些信息,比如组织、邮箱等,可以根据实际情况填写即可。
配置 Nginx 支持 HTTPS
使用如下命令打开默认的 Nginx 配置文件:
sudo vi /etc/nginx/conf.d/default.conf
在该文件中,将以下代码插入到“server”代码块中:
listen 443 ssl;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_ciphers AES128-SHA256:AES256-SHA256:RC4-SHA:DES-CBC3-SHA;
以上代码将 Nginx 配置为监听 443 端口,启用 SSL 加密,并指定 SSL 证书和支持的 SSL 协议和加密方式。
示例说明
示例一:使用默认配置文件
如果使用默认的 Nginx 配置文件,只需按照上述方法生成证书、修改配置文件即可。例如,生成的 ssl 证书存放在 /etc/nginx/ssl/
目录下,将以下代码插入到默认配置文件(/etc/nginx/conf.d/default.conf
)的“server”代码块中:
listen 443 ssl;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_ciphers AES128-SHA256:AES256-SHA256:RC4-SHA:DES-CBC3-SHA;
示例二:为多个站点生成证书
如果需要为多个站点生成不同的 SSL 证书,则需要在 Nginx 配置文件中添加多个“server”代码块,并指定不同的域名和证书。以下是一个示例代码:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate_key /etc/nginx/ssl/example.key;
ssl_certificate /etc/nginx/ssl/example.crt;
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_ciphers AES128-SHA256:AES256-SHA256:RC4-SHA:DES-CBC3-SHA;
}
server {
listen 443 ssl;
server_name blog.example.com;
ssl_certificate_key /etc/nginx/ssl/blog.key;
ssl_certificate /etc/nginx/ssl/blog.crt;
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_ciphers AES128-SHA256:AES256-SHA256:RC4-SHA:DES-CBC3-SHA;
}
以上示例代码将 Nginx 配置为为 example.com
和 blog.example.com
两个域名都启用 HTTPS,并使用不同的证书加密。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Centos7.3 安装部署Nginx并配置https的方法步骤 - Python技术站