Nginx配置SSL和WSS步骤介绍

目录
  • 前言
  • 一.Nginx安装
    • 1.下载Nginx
    • 2.安装依赖
    • 3.编译安装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)编译安装

makemake Install

4)查找安装路径

whereis nginx

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

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

6)查看nginx是否启动成功

二.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';
        }

到此这篇关于Nginx配置SSL和WSS步骤介绍的文章就介绍到这了,更多相关Nginx配置SSL和WSS内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • nginx配置ssl实现https的方法示例

    环境说明 服务器系统:Ubuntu  18.04 64位 nginx:1.14 这篇文章主要是记录配置 https 的步骤,就不介绍申请ca证书的相关细节了 这里有免费的 ssl 证书:https://cloud.tencent.com/act/pro/ssl 我是西部数码的域名,在腾讯云申请的证书 申请证书并签发后,把证书先下载到本地 1.安装 nginx $ apt-get update // 更新软件 $ apt-get install nginx // 安装nginx 2.配置 ca 证

  • Nginx下SSL证书安装部署步骤介绍

    目录 问题描述: 安装步骤 1.准备工作 2.远程连接服务器 3.拷贝证书和私钥文件 4.编辑 Nginx 根目录下的 conf/nginx.conf 文件 5.在 Nginx 根目录下,通过执行以下命令验证配置文件问题 6.重启 Nginx,访问网站 问题描述: 小编遇到https协议过期了,于是重新申请,在Nginx服务器部署SSL证书 安装步骤 1.准备工作 在 SSL 证书管理控制台 中下载并解压缩 cloud.tencent.com 证书文件包到本地目录. 解压缩后,可获得相关类型的证

  • Nginx配置SSL证书出错解决方案

    一.引言 当我们的Linux服务器上当中发布了web项目,有时候需要配置一个SSL证书,这样表示你这个网站还比较正式哈哈哈.当我把证书下载好,把nginx.conf配置好,简直就是万事俱备,只欠重启.结果一重启,duang~出错了. nginx:[emerg]unknown directive ssl,就是这个错误提示 因为我们配置这个SSL证书需要引用到nginx的中SSL这模块,然而我们一开始编译的Nginx的时候并没有把SSL模块一起编译进去,所以导致这个错误的出现. 二.错误解决步骤 既

  • Nginx 域名SSL证书配置(网站 http 升级为 https)

    前言 HTTP 和 HTTPS 我们日常生活中,常见的网址大致分为2种: 一种是基于 http 协议,如:http://www.baidu.com 一种是基于 https 协议,如:https://www.baidu.com 现在很多网站出于安全的考虑,会把网站的域名访问从 http 已经升级为 https,如果你不知道 http 和 https 的概念,不妨先看看下面这篇文章:HTTP和HTTPS有什么不同 SSL 证书 那么我们如何将 http 升级为 https 呢? 我们要升级 http

  • Nginx配置SSL和WSS步骤介绍

    目录 前言 一.Nginx安装 1.下载Nginx 2.安装依赖 3.编译安装Nginx 二.SSL配置 三.WSS配置 前言 近期,由于要发布微信小程序,小程序的发布必须使用已备案的服务器域名及https的请求方式,之前已经备案过一台服务器了,此次小程序的后台服务部署在另一台服务器上,又不想重新部署后台服务,所以想到在已经备案过的服务器上安装Nginx并配置SSL,通过Nginx反向代理到另一台服务器. 一.Nginx安装 笔者使用的是腾讯云服务器Centos 7.5, 安装教程网上有很多,笔

  • docker安装nginx并配置ssl的方法步骤

    最近想在吃灰了一年多的服务器上,安装一下docker,结果始终找不到合适的yum源,后来经过一番百度才知道,原来centos8要凉了,所以好多镜像站都移除了CentOS 8的源. 没办法,短暂的思考之后,决定重装一下操作系统,换成centos7.9,好在服务器上没啥重要东西,只要给blog挪个窝就行了. 重装系统之后,安装docker过程非常顺利. 开始安装nginx. 1.直接拉取最新的nginx镜像 docker pull nginx 2.新建一些目录,把nginx容器内的相关文件夹挂载到宿

  • 关于Nginx配置ssl证书实现https安全访问

    目录 一.Nginx的安装与配置 安装步骤 二.SSL证书获取 三.Nginx配置 前题条件,拥有服务器与可以解析到该服务器的自己的域名. 一.Nginx的安装与配置 若已安装好了Nginx,则需查看自己的Nginx是否开启了SSL的模块功能: ./nginx -V 显示如上,则代表ssl功能已开启,否则可能出现以下错误提示: nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/ng

  • Linux Nginx 配置SSL访问实例详解

    Linux Nginx 配置SSL访问实例详解 生成证书 可以通过以下步骤生成一个简单的证书: 首先,进入你想创建证书和私钥的目录,例如: $ cd /usr/local/nginx/conf 创建服务器私钥,命令会让你输入一个口令: $ openssl genrsa -des3 -out server.key 1024 创建签名请求的证书(CSR): $ openssl req -new -key server.key -out server.csr 在加载SSL支持的Nginx并使用上述私钥

  • Nginx配置ssl证书(https)的全过程

    如果有防火墙的话,记得开通443端口 安装nginx请看我的另一篇文章 < Nginx安装配置详解> 准备材料: 1.申请ssl证书,这个如何申请可以到百度搜一下,因为域名服务商不同,这里不做过多赘述: 2.服务器上已安装nginx,并可以正常访问. 开始配置: 1.进入到nginx目录,查看有没有http_ssl_module模块 ./nginx -V 2.如果没有,找到源码,输入以下命令进行安装(如果有,跳转到第6步) #prefix后面的路径是你安装nginx的路径 ./configur

  • nginx配置ssl证书实现https访问的示例

    一,环境说明 服务器系统:ubuntu16.04LTS 服务器IP地址:47.89.12.99 域名:bjubi.com 二,域名解析到服务器 在阿里云控制台-产品与服务-云解析DNS-找到需要解析的域名点"解析",进入解析页面后选择[添加解析]按钮会弹出如下页面: 主机记录这里选择@,记录值就是服务器ip地址,确认. 三,申请ca证书 在阿里云控制台-产品与服务-安全(云盾)-CA证书服务(数据安全),点击购买证书, 选择"免费版DV SSL",点击立即购买: 然

  • Nginx服务器负载均衡及ssl原理、生成ssl密钥对、Nginx配置ssl操作示例

    Nginx负载均衡 当用户访问nginx定制好的域名时,nginx通过转发到几台真实的站点,通过upstream实现 [root@centos7 vhost]# vim /usr/local/nginx/conf/vhost/load.conf upstream www.tt.com #自定义域名 { # ip_ash; #保证同一个用户始终保持在同一台机器上,即当域名指向多个IP时,保证每个用户始终解析到同一IP server 192.168.3.74:80; server 192.168.3

  • nginx配置SSL证书实现https服务的方法

    在前面一篇文章中,使用openssl生成了免费证书后,我们现在使用该证书来实现我们本地node服务的https服务需求.假如我现在node基本架构如下: |----项目 | |--- static # 存放html文件 | | |--- index.html # index.html | |--- node_modules # 依赖包 | |--- app.js # node 入口文件 | |--- package.json | |--- .babelrc # 转换es6文件 index.htm

  • 详解Nginx配置SSL证书实现Https访问

    背景 由于项目需求,安全起见,需要将之前的http接口访问变成https访问,所以需要配置SSL证书.项目的架构是这样的: 基本架构是硬负载(ReadWhere)+ 软负载(Nginx)+ Tomcat集群,现在的问题是SSl证书要配置在哪里,直接配置在硬负载上?还是分别配置在Nginx和Tomcat上?还是其他的配置方法呢? 首先在硬负载上配置放弃了,然后通过在网上查找资料,发现可以只在Nginx上配置证书,就是说Nginx接入使用Https,而Nginx与Tomcat之间使用Http进行衔接

随机推荐