1.安装nginx config模块需要添加ssl
最好将nginx配置到环境变量里面,方便启动,停止,重启等~
PATH=$PATH:/opt/nginx/sbin
export PATH
然后执行 source /etc/profile 使环境变量生效。
2.下载SSL证书
解压缩后,可获得相关类型的证书文件。其中包含 cloud.tencent.com_nginx 文件夹:
文件夹名称:cloud.tencent.com_nginx
文件夹内容:
cloud.tencent.com_bundle.crt 证书文件
cloud.tencent.com_bundle.pem 证书文件
cloud.tencent.com.key 私钥文件
cloud.tencent.com.csr CSR 文件
3.将SSL证书拷贝到nginx目录下
将已获取到的 cloud.tencent.com_bundle.crt 证书文件和 cloud.tencent.com.key 私钥文件从本地目录拷贝到 Nginx 服务器的 /usr/local/nginx/conf 目录(此处为 Nginx 默认安装目录,请根据实际情况操作)下。
4.编辑 Nginx 根目录下的 conf/nginx.conf 文件。修改内容如下:
我设置的nginx配置文件是主从模式哈。
conf.d 目录下面放的是从nginx配置!
主nginx配置文件(nginx.conf)内容:
worker_processes auto;
events {
worker_connections 1024;
}
http {
include /opt/nginx/conf/conf.d/*.conf;
}
从nginx配置文件(blog_halo.conf)内容:
upstream blog_halo {
server 127.0.0.1:8090;
}
#以下属性中,以ssl开头的属性表示与证书配置有关。
server {
listen 443 ssl;
#配置HTTPS的默认访问端口为443。
#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
#如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
server_name www.java.bj.cn; #需要将yourdomain.com替换成证书绑定的域名。
root html;
index index.html index.htm;
#证书文件名称
ssl_certificate www.java.bj.cn_bundle.crt;
#私钥文件名称
ssl_certificate_key www.java.bj.cn.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#表示使用的加密套件的类型。
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型。
ssl_prefer_server_ciphers on;
client_max_body_size 1024m;
location / {
proxy_pass http://blog_halo;
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
server {
listen 80;
server_name www.java.bj.cn; #需要将yourdomain.com替换成证书绑定的域名。
rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。
location / {
index index.html index.htm;
}
}
5.在 Nginx 根目录下,通过执行以下命令验证配置文件问题。
./sbin/nginx -t
6.重启 Nginx,即可使用 你的https域名 进行访问啦。
./sbin/nginx -s reload
恭喜您配置成功!