我是靠谱客的博主 疯狂冰淇淋,最近开发中收集的这篇文章主要介绍腾讯云| Nginx安装与配置HTTPS腾讯云| Nginx安装与配置HTTPS,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

腾讯云| Nginx安装与配置HTTPS

最近在写项目的时候,在将后台服务器部署到腾讯云后,因为前端是小程序,微信小程序开发对于正常使用必须基于HTTPS请求,因此需要配置HTTPS
本来是使用比较简单openssl进行配置使用,使用第三方免费的SSL证书,但是由于自己配置的证书不稳定,不能被校验通过,服务功能不能正常使用。因此选择申请腾讯云服务器的SSL证书使用,后台的服务器框架为Flask,但是腾讯云里面免费的SSL证书只有ApacheIISNginxTomcat四种,相应的证书对应专属的服务器,因此选择使用配置Nginx服务器,再将相关请求代理到后端服务器处理

环境系统

  • Centos 7

安装

yum install nginx

安装之后,可以查看nginx的默认安装目录

# 方法 1
nginx -t 
# 方法 2
whereis nginx

1

设置启动

# 设置自动启动
systemctl enable nginx

# 启动nginx
systemctl start nginx

获取证书

  • 腾讯云 -> SSL证书管理 -> 申请
  • 下载证书,将对应的nginx服务器证书上传到腾讯云上
    • 在配置nginx需要用到,本文将证书放到/etc/nginx/SSL文件夹

修改配置文件

  • cd /etc/nginx
  • vi nginx.conf,修改相应部分
      server {
          listen       80;
          server_name  xxx.xxx.cn;                    # 对应的域名或者host
          rewrite ^(.*)$ https://$host$1 permanent;   # 默认强制使用https对http进行跳转
    
          #charset koi8-r;
    
          #access_log  logs/host.access.log  main;
    
          location / {
              root   html;
              index  index.html index.htm;
          }
      }
    
      ...
    
      # HTTPS server
      #
      server {
          listen       443 ssl;
          server_name  qcloud.captainp.cn;
    
          ssl_certificate      /etc/nginx/SSL/1_qcloud.captainp.cn_bundle.crt;    # 指定对应的证书
          ssl_certificate_key  /etc/nginx/SSL/2_qcloud.captainp.cn.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.html;
              proxy_pass http://xxx.xxx.cn:5000/; # 将请求都代理到本机5000,Flask服务器监听的端口进行处理,可以根据需要修改该部分
          }
      }
    

重启Nginx

service nginx restart

问题补充与解决

在之前的成功配置后,某天在使用在服务器后,突然发现访问异常了,服务被拒绝,简单的重启服务器后,再次请求,发现服务器日志没有相关请求信息,猜想nginx的服务出现了问题

  • 首先检查nginx的配置是否正确:
    nginx -t -c /etc/nginx/nginx.conf

  • 发现有以下报错:
    nginx: [emerg] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory)

  • 查阅相关博客:
    不要在/var/run目下创建新目录。

    centos7,创建了/var/run/nginx/目录存放nginx.pid每次重启后,/var/run目录下都会清空!

    解决方法

    • $vi /etc/nginx/nginx.conf
    • 修改相应部分
      #pid       /var/run/nginx/nginx.pid;
      pid        /home/nginx/pid/nginx.pid;
      

最后

以上就是疯狂冰淇淋为你收集整理的腾讯云| Nginx安装与配置HTTPS腾讯云| Nginx安装与配置HTTPS的全部内容,希望文章能够帮你解决腾讯云| Nginx安装与配置HTTPS腾讯云| Nginx安装与配置HTTPS所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部