在https(SSL)服务器下WeLive5无法正常连接的处理办法

weenfier 2019-1-11 7658

如果按本帖仍无法解决https(SSL)服务器下WeLive5正常使用的问题,请拍官方提供的淘宝安装调试服务(22元):

https://item.taobao.com/item.htm?id=620508542706


注:此帖内容仅适用于WeLive5.x.x,WeLive6.x.x仅需要在welive后台设置即可。

1. 设置服务器(iptables防火墙及云服务器安全组或安全策略)先开放端口: 8430

        WeLive后台基本设置中保持Socket服务端口号为:8430不变

        8430端口:用于连接客户端(浏览器)

        8431端口:内部socket连接服务端口,其它应用或程序不能占用


2. WeLive5.7.0或以上版本,请直接跳到第3步

    修改WeLive的 ./includes/class.Websocket.php 文件:

// 绑定端口
if(!socket_bind($this->socket, $this->host, $this->port)){
   if(!socket_bind($this->socket, "0.0.0.0", $this->port)) return false;
}

改成:

// 绑定端口
if(!socket_bind($this->socket, $this->host, "8431")){
   if(!socket_bind($this->socket, "0.0.0.0", "8431")) return false;
}


3. 修改服务器配置:

I). Apache服务器在SSL配置文件后添加以下代码, 参考如下:  /usr/local/apache/conf/extra/httpd-ssl.conf

	#监听8430端口
	Listen 8430


	#添加虚拟主机
	<VirtualHost *:8430>

                #按你的实际域名修改
		ServerName xxxx.com:8430

		SSLEngine on
		SSLProxyEngine on

		#按你的服务器SSL实际密钥文路径修改
		SSLCertificateFile "/usr/local/apache2/conf/your_ssl_file.crt"
		SSLCertificateKeyFile "/usr/local/apache2/conf/your_ssl_file.key"

		#将8430端口的https转发到8431的ws协议
		ProxyRequests off
		ProxyPass / http://127.0.0.1:8431
		ProxyPassReverse / http://127.0.0.1:8431


	</VirtualHost>


II). Nginx服务器修改Nginx配置文件, 参考如下:  /etc/nginx.conf

	http {

		...........


		#添加server
		server{
			listen 8430 ssl http2;

                        #按你的实际域名修改
			server_name xxxxx.com;

                        #按你的服务器SSL实际密钥文路径修改
			ssl_certificate /etc/nginx/your_ssl_file.crt;
			ssl_certificate_key /etc/nginx/your_ssl_file.key;

			location / {
				proxy_pass http://127.0.0.1:8431;

				proxy_http_version 1.1;
				proxy_set_header Upgrade $http_upgrade;
				proxy_set_header Connection "upgrade";
				proxy_set_header Host $host;
				proxy_set_header X-real-ip $remote_addr;
				proxy_set_header X-Forwarded-For $remote_addr;
			}

		}


		...........

	}


4. 重启Apache或Nginx (有可能需要reboot重启服务器)



.

New Post (7)
  • jcghaier 2019-1-19
    Quote 2Floor
    希望可以出一版宝塔面板设置HTTPS这个问题的教程。谢谢了
  • jcghaier 2019-1-19
    Quote 3Floor
    按照以上教程小白试了一下午也没有搞定。。
  • weenfier 2019-1-19
    Quote 4Floor
    先参考一下:http://www.weensoft.cn/bbs/?thread-3.htm

    宝塔确实很“坑爹”。有个商业版用户在宝榙下安装WeLive,总是60秒后就断线,怎么设置PHP,Apache都不起作用。后来哥给他重装了干净的Centos及PHP环境,一切OK。

    可能是服务器的一些配置被宝塔保存在特殊的目录,你修改的未必是服务器真正调用的配置文件,搞不懂宝塔是啥的意思。
  • jcghaier 2019-1-20
    Quote 5Floor
    weenfier 先参考一下:http://www.weensoft.cn/bbs/?thread-3.htm 宝塔确实很“坑爹”。有个商业版用户在宝榙下安装WeLive,总是60秒后就断线,怎么设置PHP,Ap ...
    好的,谢谢了,宝塔装机量还是挺大的。
  • weenfier 2019-1-23
    Quote 6Floor
    哥OUT了,以后也搞个BT玩下。
  • zhudi2035 2019-7-17
    Quote 7Floor
    1.这样改后http和https能共用吗
    2.还有3中的两个要一起改还是改个Nginx就够了
    3.我php监听的端口是9000 第2步是不是要改成9000
  • weenfier 2020-2-19
    Quote 8Floor
    1. 改了之后,welive应该不能同时在http和http下正常连接;
    2. 这里所说的两个端口是专供给WeLive使用的,跟PHP的web服务端口无关。
Back
Create New Thread