http升级为https后nginx的配置及websocket的配置

准备工作:

已安装好nginx

1、安装OpenSSL

     下载OpenSSL http://slproweb.com/products/Win32OpenSSL.html

2、生成https证书

在nginx目录下新建文件夹ssl,在此目录下生成证书文件。运行OpenSSL\bin下的openssl.exe文件执行下列命令:

1、genrsa -des3 -out *.key 1024

2、req -new -key *.key -out *.csr

3、rsa -in *.key -out *_nopass.key

4、req -new -x509 -days 3650 -key *_nopass.key -out *.crt

   (说明:*是你自己起的文件名,第一个文件会提示设个密码,后面会用到这个密码。第二个文件需要提供一些参数,像国家、省市、公司、域名等,如果不在意的话随便填都可以。)

生成的4个文件为:

3、nginx配置

修改 nginx 下的 nginx.conf配置文件

http{
    
    upstream cmbdp_vue{
         server ip:port; #目的IP及端口
    }
    server {
         listen 9888 ssl; #监听本地端口9888 开启ssl
	 server_name localip;  #本机ip

         ssl_certificate      E://nginx-1.16.1//ssl//cmbdp.crt;  # 这个是证书的crt文件所在目录
    	 ssl_certificate_key  E://nginx-1.16.1//ssl//cmbdp.key;  # 这个是证书key文件所在目录
	 
	 location /{
         	proxy_pass http://cmbdp_vue; #转发到目的地址
	 }
    }
}

4、WebSocket 配置

      https下的websocket路径以"wss"开头:

var ws = new WebSocket('wss://192.168.167.146:15674/wss');

nginx的conf配置中增加代理websocket的设置:

    upstream cmbdp_ws{
         server ip:port; # websocket地址
    }
    server {
         listen 15674 ssl; 
	     server_name localip;	 

	     ssl_certificate      E://nginx-1.16.1//ssl//cmbdp.crt;  # 这个是证书的crt文件所在目录
    	 ssl_certificate_key  E://nginx-1.16.1//ssl//cmbdp.key;  # 这个是证书key文件所在目录
       
	     location /wss {
         	proxy_pass http://cmbdp_ws/ws; # 将前端路径中的"wss"转发到实际路径,注意改为"ws",因为实际websocket地址为http请求
		    proxy_http_version 1.1; 
		    proxy_set_header Upgrade $http_upgrade;
        	proxy_set_header Connection "upgrade";
        	
	     }
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值