阿里云+nginx配置https

先在阿里云购买ssl认证

在这里插入图片描述
在这里插入图片描述
申请完毕以后,下载证书,得到一个压缩包,解压以后得到key和pem为后缀的文件,这个就是用于配置ssl认证的文件。
在这里插入图片描述

nginx配置

新建cert文件夹

在nginx.conf的同目录下新建一个文件夹cert,将得到的两个密钥文件(key和pem为后缀的文件)放进去
在这里插入图片描述

然后进入nginx.conf配置文件,配置server块。(一般默认nginx安装在/etc/nginx,具体因人而异)

填写配置文件

   #从此开始配置80端口
server {
        listen       80;
        listen       [::]:80;
        server_name  *****.com  www.*****.com;
        #填写你的域名
        location /{
    root         /usr/share/nginx/html; 
        location /LostAndFound-admin {
        alias  /home/www/dist/ ;
        #使用alias指定项目位置
        try_files $uri $uri/  /LostAndFound-admin/index.html;
        #Vue项目(单页面应用)解决路由更换刷新时无法定位首页(404)
        index index.html index.htm;
        }
        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        error_page 404 /404.html;
        location = /404.html {
        }

        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
        }
    }

#从此开始443端口配置https协议
server {
    listen 443 ssl;
    #配置HTTPS的默认访问端口为443。
    #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
    #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
    server_name ******.top  www.******.top;
    ssl_certificate     /etc/nginx/cert/9****482_www.******.top.pem;
    ssl_certificate_key /etc/nginx/cert/996****2_www.********.top.key;
    #/意为从根目录绝对定位
    ssl_session_cache    shared:SSL:1m;
    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;
    ssl_prefer_server_ciphers  on;
    location / {
                proxy_pass http://127.0.0.1:3001;#使用反向代理,将请求转到3001端口
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header REMOTE-HOST $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

然后重启nginx服务即可

//重启nginx
systemctl restart nginx.service

但是会报错

Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

会不会是自己的编写nginx.conf存在问题
于是执行nginx -t ,来检查配置文件的语法是否正确,但是提示ok和successful,说明没有问题啊。

说又不说清楚,后面查了,看了一眼/run/nginx.pid 原来nginx.pid不存在,合着他重启就是删了这个进程文件再启动呗,系统自己删了以后并没有真的关闭nginx的进程
那我试着执行nginx 或者 nginx -s reload ,然后都告诉我nginx.pid不存在。只能去看日志了
所以可以先打印nginx状态

//运行以下命令来检查nginx服务的状态:
systemctl status nginx.service
//这个命令可以显示nginx服务的状态信息,包括是否正在运行、最近一次启动时间、错误信息等。

 //运行以下命令来查看nginx错误日志:
tail -f /var/log/nginx/error.log
//这个命令可以实时查看nginx错误日志,包括错误信息和错误发生的时间

//查看查询nginx的状态和报错日志后明白了是nginx启动使用的80端口被占用

//查询占用80端口的进程,前面加sudo表示管理员执行
netstat -anp | grep :80    sudo netstat -anp | grep :80  
//得到占用80端口的进程竟然是 nginx marster /nginx worker,明白了,使用nginx重启命令只是删了
//nginx.pid文件并没有真正停止nginx进程,他依然运行着。
//那么就是先根据上面的nginx进程号 {kill -9  进程号}杀死进程,再次执行nginx启动nginx就好啦

注:问题是几天前解决的,这些是大概过程,一定要不完全正确乃至错误的地方,我只是提供一种思路哦,辩证看待呢

微信小程序https配置

记得在项目的project.config.json文件中配置允许的https域名,不然会报错提示reuqest/uploadFile等合法域名列表不包括 www.****.com
在这里插入图片描述
当然我们还需要在微信开发公众平台中 开发者管理>服务器域名信息 中填写合法域名用到哪些写哪些吧
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值