How to open wss: or ws: port on my website?

安稳与你 提交于 2021-01-28 07:14:15

问题


I am using Ratchet-lib/socketo.me as a websocket for my chatting app. When I put localhost:8080 it works perfectly.

How can I put my wesbite as wss:// when I publish the app online? How to open port pr smthg?

This is the connection code :

$(document).ready(function(){
   update_chat_history_data();
    var conn = new WebSocket('wss://localhost:8080');
conn.onopen = function(e) {
    console.log("Connection established!");
};

I want to change var conn = new WebSocket('wss://localhost:8080'); with var conn = new WebSocket('wss://mywebsite:port');

Thanks


回答1:


If you are using nginx in your production environment and it has by default ssl enabled meaning (https). Than you can do reverse proxy to your ratchet server.

upstream websocketserver {
    server ratchet:8080;
} 

server {

listen 443 ssl;
#you main domain configuration

location /ws/ {
            proxy_pass http://websocketserver;
            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 $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto https;
            proxy_read_timeout 86400; # neccessary to avoid websocket timeout disconnect
            proxy_redirect off;
    }

}

Than you will be able to use ratchet url like: wss://yourdomain.com/ws

This is how it works with nginx but I guss is same with apache or some other web server. Just do reverse proxy!



来源:https://stackoverflow.com/questions/64544544/how-to-open-wss-or-ws-port-on-my-website

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!