关于Nginx配置SSL证书(Https)和WebSocket的wss

这篇具有很好参考价值的文章主要介绍了关于Nginx配置SSL证书(Https)和WebSocket的wss。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一. 生成SSL自签证书
       自签证书就是自己生成的证书,免费的,不支持部署浏览器的,支持浏览器的就是收费的,需要购买,这里因为是本地测试,所以就用的自签证书,买的证书可以跳过证书生成部分.

 安装OpenSSL
          OpenSSL是生成SSL的工具,这里是在Win10下安装的,下载的windows 64位的,直接下一步安装.然后在环境变量的path添加OpenSSL安装的bin路径即可 

          下载链接

      2. 开始生成证书

 生成RSA私钥
        des3算法,1024位强度,server.key 秘钥文件名

openssl genrsa -des3 -out server.key 1024
生成CSR(证书签名请求)
openssl req -new -key server.key -out server.csr
 注意 :Common Name必须和域名保持一致

 由于是在本机测试所以也没有域名,但是可以通过修改hosts文件模拟域名

 hosts文件在C:\Windows\System32\drivers\etc 目录下,打开添加      127.0.0.1    demo.joyios.com

Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Beijing
Locality Name (eg, city) []:Beijing
Organization Name (eg, company) [Internet Widgits Pty Ltd]:joyios
Organizational Unit Name (eg, section) []:info technology
Common Name (e.g. server FQDN or YOUR name) []:demo.joyios.com   这一项必须和你的域名一致
Email Address []:liufan@joyios.com
删除私钥中的密码
openssl rsa -in server.key -out server.key
生成自签名证书
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
 这时候证书已经生成好了.包含3个文件:server.key | server.csr | server.crt

二. 配置Nginx
放置证书
       打开nginx的conf目录,创建keys目录,将生成的证书(3个文件)放入keys目录中

修改nginx.conf
       

    server {
        listen       80;
        server_name  www.xxx.com;
 
        rewrite ^(.*)$ https://${server_name}$1 permanent;
 
        location / {
            proxy_pass http://www.xxx.com:8080;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Port $server_port;
        }
 
    }
 
    server {
        listen       443;
        server_name  www.xxx.com;
        ssl on;
        #配置证书的路径
        ssl_certificate      keys/server.crt;
        ssl_certificate_key  keys/server.key;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
        
        # 普通的https请求
        location / {
             #配置转发到8080端口
            proxy_pass http://www.xxx.com:8080;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Forwarded-Port $server_port;
        }
        
        # WebSocket 请求
        location /websocketChat {
            proxy_pass http://www.xxx.com:8080;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }
        
        # WebSocket 请求
        location /websocketAudio {
            proxy_pass http://www.xxx.com:8080;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }
 
    }
重启nginx
       进入nginx的安装目录

nginx -s reload
三. 大功告成,测试
      这时候已经搭建好了,WebSocket的js部分ws换成wss即可

      直接访问 www.xxx.com,即可识别SSl证书,因为没有认证所有浏览器会拦截,信任就可以进入映射的8080端口(tomcat服务器)文章来源地址https://www.toymoban.com/news/detail-413291.html

到了这里,关于关于Nginx配置SSL证书(Https)和WebSocket的wss的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • nginx配置ssl证书使用https访问

    一:申请证书,我使用的是阿里云免费证书 二:下载证书,解压到服务器上 两个文件:www.xx.com.pem和www.xx.com.key 三:打开配置文件/usr/local/nginx/conf/nginx.conf 放开端口443,替换ssl_certificate和ssl_certificate_key为自己证书路径    server {         listen       443 ssl;         server_na

    2024年01月20日
    浏览(55)
  • Nginx配置ssl证书实现https安全访问

    目录 一、Nginx的安装与配置 安装步骤 二、SSL证书获取 三、Nginx配置 前题条件,拥有服务器与可以解析到该服务器的自己的域名。 若已安装好了Nginx,则需查看自己的Nginx是否开启了SSL的模块功能:  显示如上,则代表ssl功能已开启,否则可能出现以下错误提示: nginx: [emer

    2024年02月15日
    浏览(38)
  • 配置SSL证书后,Nginx的HTTPS 不能正常

    申请ssl证书,配置nginx支持https与证书,可是访问https的nginx总是出现错误,也导致小程序发https请求失败,这是什么原因呢? 如果在配置SSL证书后,Nginx的HTTPS无法正常工作,可能有以下几个常见原因: 1、证书配置错误: 证书文件路径出现错误或不存在;文件格式错误;证书

    2024年02月03日
    浏览(43)
  • Linux nginx实现访问,配置ssl证书实现https访问

    注意:服务器需要开通80端口 (1)alias: alias指定的路径是location的别名,不管location的值怎么写,资源的 真实路径都是 alias 指定的路径 例如:同样请求 http://xxx.com/upload/top.gif 时,在服务器查找的资源路径是: /www/wwwroot/upload/top.gif (2)root:真实的路径是root指定的值加上

    2024年02月01日
    浏览(53)
  • openssl生成证书和nginx配置ssl证书

    一般情况下,使用ssl证书需要三个操作步骤:1.生成密钥对;2.生成证书请求文件;3.生成证书文件。从单纯的开发者角度来说,可以使用开源的openssl生成密钥和证书,且通过openssl的req命令,可以一个命令完成上述3个操作。 req命令主要的功能:生成证书请求文件、验证证书请

    2024年02月07日
    浏览(40)
  • Tomcat配置https,JAVA生成ssl证书,http和https双向配置

    1、java生成ssl证书 首先要确认环境是否安装JDK;必须安装JDK才能生成SSL证书 1.1、服务器生成证书 服务器生成证书: 使用keytool为Tomcat生成证书,假定目标机器的域名是“127.0.0.1”,keystore文件存放在“D:omcat.keystore”,口令为“123456”,validity为证书有效时间当前为90天  生成命

    2024年02月01日
    浏览(38)
  • 什么是HTTPS加密协议?HTTPS安全传输原理,SSL和TLS介绍,NGINX如何配置SSL证书

    HTTPS是超文本传输协议(HTTP)的安全版本。它使用SSL(安全套接层)或TLS(传输层安全)加密协议来保护数据传输的安全性和机密性,以防止未经授权的访问和窃听。HTTPS协议通常用于处理敏感信息,如在线支付或登录凭证等。可以通过URL的前缀来识别一个网站是否使用了H

    2024年02月03日
    浏览(55)
  • nginx配置SSL证书配置https访问网站 超详细(附加配置源码+图文配置教程)

    最近在阿里云上入手了一台云服务器,准备搭建一套java程序,在 Nginx 配置SSL证书时,配上之后前端可以正常以https的方式打开,但是访问不到后端,自己也是明明知道是 Niginx 配置的问题,但就不知道错哪了,当时心里的那种感觉真是无法表达呜呜呜… 经过排查发现 前端访

    2024年02月11日
    浏览(45)
  • 内网环境下nginx使用自签名ssl证书配置https请求

    一、安装Openssl nginx有openssl 命令,没有的自行百度,我配置的nginx是存在的所以没查这部分 二、生成密钥 可以在本地生成然后把文件拷贝到服务器,也可以直接在服务器指定目录生成,我选择的后者。 应该是哪个目录都可以,只要在nginx.conf文件中引入正确地址就可以 我的配

    2024年01月21日
    浏览(52)
  • Nginx中的SSL加密配置与证书生成

    目录 整体的操作流程 二、然后配置网络yum源 并mv CentOS-* backup挪动到上层目录中  三、在家目录下解压 文件,并查看  四、添加两种编译模块./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module 五、 显示少什么就 yum install (缺少的依赖的名称)-devel 下图为

    2024年02月05日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包