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

weenfier 3 Months+ 337

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

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

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

        8431端口:用于WeLive的php socket进程监听及处理从8430转发过来的消息


2. 修改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 _default_:8430>

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

		SSLEngine on
		SSLProxyEngine on

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

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


	</VirtualHost>


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

	http {

		...........


		#添加server
		server{
			listen 8430;
			ssl on;

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

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

			location / {
				proxy_pass ws://localhost: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. 重启服务器(reboot)

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

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

    可能是服务器的一些配置被宝塔保存在特殊的目录,你修改的未必是服务器真正调用的配置文件,搞不懂宝塔是啥的意思。
  • jcghaier 3 Months+
    Quote 5Floor
    weenfier 先参考一下:http://www.weensoft.cn/bbs/?thread-3.htm 宝塔确实很“坑爹”。有个商业版用户在宝榙下安装WeLive,总是60秒后就断线,怎么设置PHP,Ap ...
    好的,谢谢了,宝塔装机量还是挺大的。
  • weenfier 2 Months+
    Quote 6Floor
    哥OUT了,以后也搞个BT玩下。
Back
Create New Thread