IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Nginx配置SSL和WSS -> 正文阅读

[网络协议]Nginx配置SSL和WSS

近期,由于要发布微信小程序,小程序的发布必须使用已备案的服务器域名及https的请求方式,之前已经备案过一台服务器了,此次小程序的后台服务部署在另一台服务器上,又不想重新部署后台服务,所以想到在已经备案过的服务器上安装Nginx并配置SSL,通过Nginx反向代理到另一台服务器。

一.Nginx安装

笔者使用的是腾讯云服务器Centos 7.5, 安装教程网上有很多,笔者这里也是根据网上的教程进行一个记录。主要安装过程中需要配置添加Nginx的SSL模块。如已成功安装可跳过。

1.下载Nginx

下载地址:Index of /download/

下载完成传输到服务器上或者也可通过wget命令下载:

wget http://nginx.org/download/nginx-1.9.0.tar.gz

2.安装依赖

1)安装gcc-c++编译器

yum install gcc-c++
yum install -y openssl openssl-devel

2)安装pcre包

yum install -y pcre pcre-devel

3)安装zlib包

yum install -y zlib zlib-devel

3.编译安装Nginx

1)解压安装包

tar -zvxf nginx-1.9.0.tar.gz

2)切换至nginx目录,配置nginx,添加ssl模块

cd nginx-1.9.0
./configure --with-http_ssl_module

./configure --with-http_ssl_module必须配置,笔者第一次安装时直接使用了默认配置导致配置SSL证书时启动报错。

3)编译安装

make
make Install

4)查找安装路径

whereis nginx

5)切换至安装目录下,并进入sbin目录,启动nginx

cd /usr/local/nginx/sbin
./nginx

6)查看nginx是否启动成功

安装过程参考:Linux安装nginx - star-xin - 博客园

二.SSL配置

1)获取证书

笔者这里使用的是腾讯云,可在腾讯云申请免费证书,并下载nginx版本

?2)将下载得到的所有证书文件上传至服务器上,放置在nginx的conf目录下(与配置文件同级)。

3)进入nginx.conf文件,配置ssl信息


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       443;
        # 证书绑定的域名
        server_name  xxxxx;
	    # 证书文件名称,亲测这里使用.pem和.crt的证书文件都可以
	    ssl_certificate xxxx.pem;
        # 由于版本问题,部分版本配置文件需加上ssl on
	    ssl on;
	    #私钥文件名称
	    ssl_certificate_key xxx.key;
        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 / {
            root   html;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

	location /ctp/{
        # 填写要转发的服务器地址和端口
        proxy_pass http://ip:port;
	}
      
    }
}

详细证书配置教程可参考腾讯云:SSL 证书 Nginx 服务器 SSL 证书安装部署 - 证书安装 - 文档中心 - 腾讯云

三.WSS配置

nginx配置websocket的代理比想象种简单很多,使用HTTP的Upgrade协议头就能将连接从HTTP连接升级到WebSocket连接,具体配置如下:

location /ctp/{
            # 填写要转发的服务器地址和端口
            proxy_pass http://ip:port;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection 'Upgrade';
        }

以上,SSL和WSS反向代理配置完成,亲测可用,谢谢阅读。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-12-24 18:52:13  更:2021-12-24 18:54:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年10日历 -2024/10/5 7:52:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码