Centos7 通过Nginx 开启Https协议

本文介绍了在Centos7系统上如何通过Nginx开启HTTPS服务,包括检查Nginx安装,从阿里云获取免费CA证书,配置Nginx配置文件,以及处理配置过程中可能遇到的问题,如缺少ssl模块的解决方法。

Centos7 通过Nginx 开启Https协议

1. 检查服务器是否安装Nginx检查命令如下

#是否有nginx进程
ps -ef | grep nginx

#nginx 安装目录
whereis nginx

如果没有安装,请参数之前是的文章先进行nginx 安装
Centos 7 安装Nginx

2. 获取CA证书

这里讲一下怎么通过-阿里云 获取CA免费证书的方法。

打开阿里云证书申请页面 链接
CA证书免费申请阿里云

免费证书申请

下载Nginx 证,解压后上传到服务器目录 /usr/local/nginx/ssl
CA证书 Nginx 下载

3. 配置Nginx 配置文件

Nginx安装好后 修改nginx 配置文件

#找到配置文件所在目录
cd /usr/local/nginx/conf
vim nginx.conf

在这里插入图片描述

# 找到80端口 相关配置
server {
        listen       80;
        #你配置的应用域名;
        server_name  <yourdomain>
        #将所有HTTP请求通过rewrite指令重定向到HTTPS。
		rewrite ^(.*)$ https://$host$1;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
        #代理ip与端口号
	    proxy_pass <IP:Port>;
	    proxy_set_header Host $host;
	    proxy_set_header X-Real-IP $remote_addr;
	    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            root   html;
            index  index.html index.htm;
        }

        #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;
        }
    }
#监听443 端口
# HTTPS server
    server {
        listen       443 ssl;
        #你配置的应用域名;
        server_name  <yourdomain>
		#配置证书上传的绝对路径
		#填写证书文件名称
        ssl_certificate      /usr/local/nginx/ssl/<ssl_file_name>.pem;
        #填写证书私钥文件名称 
        ssl_certificate_key  /usr/local/nginx/ssl/<ssl_private_key>.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
		#表示使用的加密套件的类型
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }

配置完成后按Esc :wq 保存并退出编辑

4 重新加载nginx 配置

#测试nginx.conf 文件语法是否正确
/usr/local/nginx/sbin/nginx -t
#重新加载配置文件
/usr/local/nginx/sbin/nginx -s reload

5 问题处理

5.1 报错 :the “ssl” parameter requires ngx_http_ssl_module

解决方案:您需要重新编译Nginx并在编译安装的时候加上--with-http_ssl_module配置

执行命令流程
#进入nginx安装源码包
cd /opt/nginx/nginx-1.9.8
#重新编译 加上ssl 配置
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
#安装
make
#停止nginx
/usr/local/nginx/sbin/nginx -s stop
#查看nginx进程是否关闭
ps -ef | grep nginx
#将刚刚编译好的nginx覆盖掉原有的nginx(这个时候nginx要停止状态)
cp ./objs/nginx /usr/local/nginx/sbin/
#启动nginx
/usr/local/nginx/sbin/nginx

| grep nginx
#将刚刚编译好的nginx覆盖掉原有的nginx(这个时候nginx要停止状态)
cp ./objs/nginx /usr/local/nginx/sbin/
#启动nginx

/usr/local/nginx/sbin/nginx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值