美文网首页
NGINX配置使用HTTPS

NGINX配置使用HTTPS

作者: Nick_4438 | 来源:发表于2019-05-24 11:47 被阅读0次

前言

本文演示如何给NGINX服务器配置HTTPS链接,通过本文的练习,读者应该具备能力在centos上部署一个nginx服务器,并配置https链接;文内使用的操作系统为CENTOS7。

安装软件

  • 下载
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
wget https://nginx.org/download/nginx-1.14.0.tar.gz
tar -xzvf nginx-1.14.0.tar.gz
cd nginx-1.14.0
  • 配置nginx
# ./configure --prefix=/usr/local/nginx --sbin-path=/usr/bin/nginx --with-http_ssl_module --with-http_realip_module --with-http_geoip_module --with-http_sub_module --with-stream --with-http_stub_status_module

./configure --prefix=/usr/local/nginx  --sbin-path=/usr/bin/nginx --with-http_stub_status_module --with-http_ssl_module

./configure --help 可以查看配置项说明
完成之后的配置文件见:/usr/local/nginx/conf/nginx.conf,参数配置说明:https://nginx.org/en/docs/configure.html

  • 编译
make && make install

配置证书

如果是购买证书,直接拷贝到conf/ssl目录下即可。如果是私有证书,本文末尾有说明如何生成私有证书,读者可以按步骤运行。

修改配置文件

## 参考conf/nginx.conf文件,修改如下内容(此处只是关键需要修改的部分)
http {
    server {
        #   HTTP 和 HTTPS 都使用,如果不使用HTTP则注释掉80端口即可
        listen       80;
        listen              443 ssl;
        server_name  localhost;
        ssl_certificate     ssl/server.crt;
        ssl_certificate_key ssl/server.key;
    }
}

启动、停止、重启

# 1.启动nginx
shell> nginx
# 可通过ps -ef | grep nginx查看nginx是否已启动成功
# 2.停止nginx
shell> nginx -s stop
# 3\. 重新启动
shell> nginx -s reload

nginx默认配置启动成功后,会有两个进程,一个主进程(守护进程),一个工作进程。主进程负责管理工作进程,工作进程负责处理用户的http请求。

使用浏览器访问: https://192.168.1.10,如果能显示页面,则操作成功,如果不能显示,请排查一下CENTOS防火墙配置。

补充说明

生成证书

cd ~
mkdir ssl && cd ssl
# 注意:一般生成的目录,应该放在nginx/conf/ssl目录
# 1.创建服务器证书密钥文件 server.key:
openssl genrsa -des3 -out server.key 1024
# 输入密码,确认密码,自己随便定义,但是要记住,后面会用到。
# 2.创建服务器证书的申请文件 server.csr
openssl req -new -key server.key -out server.csr
# 输出内容为:
Enter pass phrase for root.key: ← 输入前面创建的密码 
Country Name (2 letter code) [AU]:CN ← 国家代号,中国输入CN 
State or Province Name (full name) [Some-State]:BeiJing ← 省的全名,拼音 
Locality Name (eg, city) []:BeiJing ← 市的全名,拼音 
Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp. ← 公司英文名 
Organizational Unit Name (eg, section) []: ← 可以不输入 
Common Name (eg, YOUR name) []: ← 此时不输入 
Email Address []:admin@mycompany.com ← 电子邮箱,可随意填
Please enter the following ‘extra’ attributes 
to be sent with your certificate request 
A challenge password []: ← 可以不输入 
An optional company name []: ← 可以不输入
# 4.备份一份服务器密钥文件
cp server.key server.key.org
# 5.去除文件口令
openssl rsa -in server.key.org -out server.key
# 6.生成证书文件server.crt
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt


mkdir  /usr/local/nginx/conf/ssl
cp * /usr/local/nginx/conf/ssl/

配置nginx开机启动

将/usr/bin/nginx命令添加到/etc/rc.d/rc.local文件中,rc.local文件会在系统启动的时候执行。但CentOS7建议将开机启动服务写成服务描述文件添加到系统服务中,所以rc.local默认没有执行权限,需要给它添加执行权限。

shell> vim /etc/rc.d/rc.local
# 添加如下参数
/usr/bin/nginx

shell> chmod +x /etc/rc.d/rc.local

官方参考

相关文章

  • # nginx https证书配置

    nginx https证书配置 一 前言 此文档针对于nginx配置反向代理使用https证书方法 nginx作为...

  • CentOS6.5部署Gitlab-CE代码托管服务

    安装要求 CentOS6安装参考 安装(这里使用HTTPS) 使用外部Nginx、配置Email Nginx配置(...

  • Nginx 配置 HTTPS

    使用Nginx配置HTTPS域名证书 安装SSL模块要在 nginx 中配置 https,就必须安装 ssl 模块...

  • NGINX配置使用HTTPS

    前言 本文演示如何给NGINX服务器配置HTTPS链接,通过本文的练习,读者应该具备能力在centos上部署一个n...

  • Nginx环境下http和https(ssl)共存的方法

    给nginx配置SSL证书后(这里使用的是自己生成的测试证书,参见 nginx使用ssl模块配置HTTPS支持),...

  • nginx

    node 使用 nginx 反向代理搭建https服务 使用自己生成的证书 nginx http配置 编辑ngin...

  • Ruby&Rails---给nginx添加https

    我这里使用的是ubuntu的系统,给nginx添加https之前rails项目配置nginx的文章在https:/...

  • 搭建一个 https 网站

    nginx 配置 HTTPS 简介及使用官方工具 Certbot 配置 Let’s Encrypt SSL 安全证...

  • 配置nginx支持Https

    配置nginx支持Https一定要先使用stop停止nginx然后重新代开不能使用reload 一:安装letse...

  • autocert 与 nginx的配合

    autocert 负责生成SSL证书, 生成的证书配置在nginx中, nginx负责处理https请求. 使用a...

网友评论

      本文标题:NGINX配置使用HTTPS

      本文链接:https://www.haomeiwen.com/subject/tphgzqtx.html