NGINX配置使用HTTPS
【摘要】 前言
本文演示如何给NGINX服务器配置HTTPS链接,通过本文的练习,读者应该具备能力在centos上部署一个nginx服务器,并配置https链接;文内使用的操作系统为CENTOS7。
安装软件
下载
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
wget https:/...
前言
本文演示如何给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
官方参考
文章来源: www.jianshu.com,作者:Nick_4438,版权归原作者所有,如需转载,请联系作者。
原文链接:www.jianshu.com/p/602a70c1b04e
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)