linux nginx搭配https

微信小程序upload接口必须是https请求,所以就搭建https

一、Linux搭建https

1、申请ssl证书

  这里用的是腾讯云提供的免费ssl.

  https://console.qcloud.com/ssl?_ga=1.268456817.1619620622.1510718080

  按照要求填写信息,申请成功之后下载证书

2、修改nginx配置文件

  将证书上传到服务器上,解压

  然后到***/nginx/conf下修改nginx.conf文件

      在最下面添加

       

 server {
        listen       443 ssl;
        server_name  申请ssl证书的域名;

        ssl on;
        ssl_certificate      证书中crt文件地址;
        ssl_certificate_key  证书中key文件地址;

        ssl_session_cache    shared:SSL:1m;
        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 / {
                proxy_pass http://127.0.0.1:项目端口/;
                proxy_set_header X-Forwared-For $remote_addr;
                proxy_set_header Host $host;
        }
    }

  然后保存退出,重启nginx

ps -ef|grep nginx
kill -9 xxxxxxxx
./ ***/nginx/sbin/nginx

***nginx安装路径

一半情况下会报这个错误,这是由于nginx缺少http_ssl_module模块,解决方案请参照https://www.cnblogs.com/ghjbk/p/6744131.html

*由于nginx是新搭建的,所以很多东西都没有装配,在执行./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_modul时候

会报错误:./configure: error: SSL modules require the OpenSSL library. You can either do not enable the module

解决方法:apt-get  install openssl  

     apt-get install libssl-dev 

然后再执行就行了

3.启动nginx

这里可以验证https是否搭建成功

https://cloud.tencent.com/product/ssl?from=qcloudHpHeaderSsl

大功告成!吃个鸡

二、如果项目使用的服务器添加了负载均衡,直接在负载上监听443端口,上传申请的ssl证书,配置一下nginx.conf文件,效果跟上面一样,方法比较简单,这里不具体描述

三、简单配置nginx.conf

配置域名访问,默认重定向指定页面:rewrite

 

原文地址:https://www.cnblogs.com/SongG-blogs/p/8024633.html