Nginx 配置ssl证书 windows

本文详细介绍了如何配置SSL证书以实现小程序通过HTTPS访问公网服务器。首先,你需要准备公网服务器并绑定域名,然后从阿里云盾获取免费SSL证书。接着,下载并配置Nginx,将SSL证书的.key和.pem文件放入适当位置,并修改nginx.conf文件。最后,启动Nginx服务。在遇到问题时,可检查error.log文件进行故障排除。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  最近在做小程序开发时,发现小程序发布到微信公众平台后,必须通过https + 域名的请求方式访问公网服务器(本地开发测试可直接用 本机ip或localhost 进行访问,在小程序开发工具中勾选不校验合法域名即可)。以下总结nginx配置ssl域名证书的整个过程。

准备工作

  一、公网服务器

  首先,我们需要申请公网服务器,用于小程序后台代码的部署和nginx服务器的部署。申请公网服务器的渠道有很多,比如阿里、华为、腾讯等。申请成功后,我们得到一个公网ip地址。

二、申请域名并绑定服务器ip

  去各官网渠道都可申请到域名,然后将服务器和域名进行绑定

三、 生成ssl证书

  本人是从阿里云盾生成的免费版ssl证书,选择nginx类型的服务器证书下载即可

  下载下来是两个文件, .key 私钥 和 .pem 证书文件

四、Nginx 下载

http://nginx.org/en/download.html

配置ssl证书

一、 解压nginx、存放.key 和 .pem 文件

  这里说明一下, key 和 pem 这两个文件不是必须存放在 conf 文件夹下面,楼主为了图方便。可以在nginx根目录下面,创建新的文件夹来存放这两个文件。

 二、 nginx 配置ssl 详解


#user  nobody; # Nginx用户及组:用户 组。window下不指定
worker_processes  1; # 工作进程:数目。根据硬件调整,通常等于CPU数量或者2倍于CPU
# 错误日志:存放路径
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid; # pid(进程标识符):存放路径


events {
    worker_connections  1024; # 每个工作进程的最大连接数量
}

## 设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
    include       mime.types; # nginx支持的媒体类型库文件
    default_type  application/octet-stream; # 默认的媒体类型
    sendfile        on; # 开启高效传输模式
    keepalive_timeout  65; # 连接超时时间
	
	#表示一个虚拟的主机站点,一个http中可以有多个server
    server {
        listen       80; # 提供服务的端口 默认80端口
        server_name  域名; # 提供服务的主机 例如 baidu.com
        
	# 配置请求的路由,以及各种页面的处理情况
	 location / {
            rewrite ^(.*)$ https://域名:443/$1 permanent; # 符合匹配规则的请求,重定向到该地址
        }

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

    }

    
    # ssl 配置
     server {
        listen       443 ssl; # 默认端口
        server_name  域名; # 例如 baidu.com
		ssl on;
        ssl_certificate      5264132_qd520.top.pem; # pem 文件路径
        ssl_certificate_key  5264132_qd520.top.key; # key 文件路径
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
		#root xxxxxx; # 直接访问域名时,默认跳转的页面地址。因为小程序是发布在微信公众平台上,所以这里不用配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_prefer_server_ciphers  on;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
		
		# 路由配置
		location ^~ /api {
		
			# 用来设定被代理服务器接收到的header信息 以下 proxy_set_header 的配置为标配
            proxy_set_header Host $host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			
			# 路径重写 去除 /api 前缀
			rewrite ^/api/(.*) /$1 break;
			proxy_pass http://服务器ip:项目端口; # 代理转发
        }
		
    }
	
}

  将配置中的 "域名" 、"服务器ip"、"项目端口" 替换成自己的地址即可。若pem文件和 key文件存储路径与本文不一致,则直接改为自己的文件路径。具体配置含义文中已有注释

三、启动nginx

  windows 下启动 nginx 有两种方法

  ① 双击 .exe 文件

  ② cmd 命令进入 nginx 文件目录下输入指令: start nginx

四、 报错处理

  nginx 启动时,有可能会出现报错的现象。这个时候建议大家去 nginx 目录里,logs 文件夹下,查看nginx 的 error.log 日志,以便排查错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值