nginx开启https配置

开启https的步骤很简单的,只需要三步而已:

1、申请证书

2、修改web server的配置文件(我这里是nginx)nginx的配置文件

3、重启Nginx


申请SSL证书请点击:https://buy.cloud.tencent.com/ssl?fromSource=ssl&from=qcloudHpHeaderSsl  (我的服务是腾讯云的 所以提供的申请网址也是腾讯云的)


大家根据 上面的链接提示一步一步操作申请即可(截止发稿日期 是可以申请免费的),审批通过还是挺快的 只用了几分钟 我就通过了  而且今天还是周日。


通过之后 点击进入证书管理界面 下载审批通过后颁发的证书  如下图所示:

qqqqq.png

下载后 是一个压缩文件 解压之后 可以看到里面有很多对应web server的证书 我这里是用的nginx

111111111111.png


将nginx文件夹中的crt以及key文件复制到服务器中的某个路径下(一般都是复制到web server的配置文件中),接下来配置nginx的配置文件了。

server {
        listen 443;
        server_name www.domain.com; #填写绑定证书的域名
        ssl on;           #开启ssl     
        ssl_certificate         1_ #你的crt文件 
        ssl_certificate_key     2_        #你的key文件 
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
        ssl_prefer_server_ciphers on;
        location / {
            root   html; #站点目录
            index  index.html index.htm;
        }
    }

这样就可以了 可以使用nginx -t检查下配置文件是否有报错 没有的话 就可以重启nginx了 

或者平滑重启nginx(nginx -s reload)  所谓平滑重启即不用先停止nginx然后在启动nginx 即使运行中的nginx也能读取最新的配置文件



PS:如果使用nginx -t命令后报以下类似的错误:

nginx: [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead in 
/usr/local/nginx/conf/nginx.conf:126

nginx: [emerg] invalid number of arguments in "ssl_certificate" directive in 
/usr/local/nginx/conf/nginx.conf:129

nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed

那可能是nginx版本比较高(nginx1.20的版本 需要使用下面这种配置方式,嗯。。好像nginx1.18及以上的版本都需要使用下面这种方式。。博主只试过nginx1.20的版本。。其它版本请自行测试),那nginx的配置可以变成下面这样:

server
    {
        listen 443 ssl;
        server_name www.css3er.com css3er.com;
        index index.html index.htm index.php;
        root  /home/wwwroot/default/tp6_blog/public;
		   
        ssl_certificate         1_ #你的crt文件;
        ssl_certificate_key     2_        #你的key文件 ;       
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
        ssl_prefer_server_ciphers on;

        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }

        include enable-php.conf;
		
		location / { 
						if (!-e $request_filename) {
						rewrite  ^(.*)$  /index.php?s=/$1  last;
					}
		}
    }




本文中 博主目前的nginx的版本配置 如下:

111111111111111111111111111.png


最终 使用https访问我们的站点 看下图:

QQ截图20181223234025.png


大功告成。。 记住 开启了https 访问的时候 如果没有配置http的话。。记得访问站点的时候前边一定要主动加上https。。不然默认走的还是http。。


也可参考如下链接开启https:

https://cloud.tencent.com/developer/article/1004800


其它web server安装配置 可参考如下链接:

https://cloud.tencent.com/document/product/400/4143

声明:禁止任何非法用途使用,凡因违规使用而引起的任何法律纠纷,本站概不负责。

小周博客
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

精彩评论

全部回复 0人评论 7,777人参与

loading