本次Nginx配置HTTPS使用的服务器是阿里云CentOS7.9,域名在腾讯完成注册且域名解析由腾讯DNS服务器来完成。
首先需要确保该域名能够被正确解析且浏览器能够正常访问,然后去域名解析接入商(我这里是腾讯)申请SSL证书,我这里申请的是免费的SSL证书
然后将后缀为 key 和 crt 的SSL文件传输到云服务器中
接下来就可以安装nginx了
下载完 .tar.gz 后传输到云服务器上进行解压,具体解压的位置可自己定
在编译nginx之前需要下载一些nginx有关的依赖防止编译报错
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install
cp ./objs/nginx /usr/local/nginx/sbin
cd 到 /usr/local/nginx/sbin 下 执行 ./nginx -V 指令查看SSL模块是否被导入进nginx
[root@honkai sbin]# ./nginx -V
nginx version: nginx/1.20.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
以下是 nginx.conf 的配置内容
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#gzip on;
server {
#SSL 访问端口号为 443
listen 443 ssl;
#填写绑定证书的域名
server_name xxxxx.com;
#证书文件名称
ssl_certificate ../cert/xxxxx.com_bundle.crt;
#私钥文件名称
ssl_certificate_key ../cert/xxxxx.com.key;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name xxxxx.com;
#将请求转成https
rewrite ^(.*)$ https://$host$1 permanent;
}
}
然后启动nginx
./nginx
查看443端口占用情况
netstat -lntp