Nginx配置小程序域名(HTTPS

本文涉及的产品
.cn 域名,1个 12个月
简介: Nginx配置小程序域名(HTTPS

引言

小程序开发前后端分离的项目时,小程序必须使用域名(https)才能够成功上线使用,不能够使用代理等方法。

HTTP和HTTPS的概念

  • HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
  • HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
  • HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

HTTP与HTTPS有什么区别?

HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

HTTPS和HTTP的区别主要如下:

  1. https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
  2. http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
  3. http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  4. http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

开始

1.nginx.conf配置

找到Linux系统下的nginx.conf文件,并进行修改,配置如下:

  • 注释之前的http server配置
  • 新增http server
http{
    include   mime.types;
    default_type   application/octet-stream;
    sendfile   on;
    keepalive_timeout   65;
      server {
        listen      443 ssl;
        server_name    域名;
        ssl_certificate /usr/local/ssl/www.qsdhh.xyz.crt;
        ssl_certificate_key /usr/local/ssl/www.qsdhh.xyz.key;
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        server_tokens off;
        fastcgi_param   HTTPS               on;
        fastcgi_param   HTTP_SCHEME         https;
        access_log /usr/local/nginx/logs/httpsaccess.log;
      location / {
        proxy_pass              服务器Ip地址+后端端口;
        proxy_set_header        Host 127.0.0.1;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_redirect off;
        proxy_set_header Host $host;
      }
      error_page   500 502 503 504  /50x.html;
        location = /50x.html {
        root   html;
      }
    }
      server{
        listen 80;
        server name    域名;
        rewrite ^(.*) https: /l$host$1 permanent;
    }
}   

注意:proxy_pass 中的配置根据你的项目来定义,我的是前后端分离的项目。小程序使用uniapp,后端使用node.js,我把后端放到云服务器上启动,所以才是这种写法。

2.检查配置

nginx.conf的根目录下输入命令:

nginx -t

生成以下命令则代表配置成功

nginx: the configuration file  /nginx.conf syntax is ok

nginx: configuration file  /nginx.conf test is successful

3.访问域名

无提示信息的话,就大功告成。

4.小程序配置

进入微信公众号平台,在开发管理中进行服务器域名配置。配置好之后,将小程序重新发布即可。

image.png

5.小程序体验

image.png


相关文章
|
8天前
|
运维 监控 安全
在实际应用中,如何选择基于不同域名还是不同 IP 进行代理多服务的配置?
综上所述,在实际应用中选择基于不同域名还是不同 IP 进行代理多服务的配置,需要根据具体的业务需求、可扩展性、性能、安全性以及维护和管理成本等多方面因素进行综合考虑,权衡利弊,选择最适合自己系统架构和运营需求的配置方式。
|
13天前
|
Web App开发 算法 应用服务中间件
nginx开启局域网https访问
【10月更文挑战第22天】为了调试WebRTC功能,需要在局域网内搭建HTTPS协议。具体步骤包括:在已部署Nginx和安装OpenSSL的环境中生成私钥、证书签名请求和自签名证书;将生成的文件放置到Nginx的证书目录并修改Nginx配置文件,最后重启Nginx服务。注意,自签名证书不受第三方机构认可,如需正式使用,需向CA申请签名。
|
2月前
|
小程序 前端开发 中间件
ThinkPHP 配置跨域请求,使用TP的内置跨域类配置,小程序和web网页跨域请求的区别及格式说明
本文介绍了如何在ThinkPHP框架中配置跨域请求,使用了TP内置的跨域类`\think\middleware\AllowCrossDomain::class`。文章还讨论了小程序和web网页在跨域请求格式上的区别,并提供了解决方案,包括修改跨域中间件源码以支持`Origin`和`token`。此外,还介绍了微信小程序跨域请求的示例和web网页前端发送Axios跨域请求的请求拦截器配置。
ThinkPHP 配置跨域请求,使用TP的内置跨域类配置,小程序和web网页跨域请求的区别及格式说明
|
1月前
|
安全 应用服务中间件 Shell
nginx配置https的ssl证书和域名
nginx配置https的ssl证书和域名
|
1月前
|
XML 小程序 JavaScript
小程序入门之项目配置说明和数据绑定
小程序入门之项目配置说明和数据绑定
40 1
|
1月前
|
Docker 容器
docker nginx-proxy 添加自定义https网站
docker nginx-proxy 添加自定义https网站
37 4
|
2月前
|
Apache 数据安全/隐私保护
HAProxy的高级配置选项-ACL篇之域名重定向案例
这篇文章介绍了HAProxy的ACL(访问控制列表)功能,特别是如何基于域名进行重定向的高级配置选项,并通过实战案例展示了如何配置ACL规则以实现基于特定域名的HTTP重定向。
83 6
HAProxy的高级配置选项-ACL篇之域名重定向案例
|
2月前
|
PHP
ThinkPHP 多应用配置,及不同域名访问不同应用的配置【详解】
本文详解了在ThinkPHP框架中配置多应用的方法,包括安装扩展、删除默认controller文件夹、创建多应用、修改配置文件以启用多应用、测试访问以及如何配置不同域名访问不同应用的步骤。
ThinkPHP 多应用配置,及不同域名访问不同应用的配置【详解】
|
2月前
|
JavaScript 应用服务中间件 Linux
宝塔面板部署Vue项目、服务端Node___配置域名
本文介绍了如何使用宝塔面板在阿里云服务器上部署Vue项目和Node服务端项目,并配置域名。文章详细解释了安装宝塔面板、上传项目文件、使用pm2启动Node项目、Vue项目打包上传、以及通过Nginx配置域名和反向代理的步骤。
511 0
宝塔面板部署Vue项目、服务端Node___配置域名
|
1月前
将http和https的非www顶级域名301重定向至www
将http和https的非www顶级域名301重定向至www
35 0