1. Поддержка веб-сокетов
Одно и то же доменное имя, несколько портов соответствуют разным службам. Например, 9400 — это служба http, а 1900 — служба веб-сокетов.
Пункт 1. Настройте несколько местоположений
сервер{ слушать 0.0.0.0:80; имя_сервера test.com;
location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; proxy_set_header Хост $http_host; proxy_set_header X-Nginx-Proxy true; прокси_пасс http://114.114.114.110:9400; прокси_перенаправление выключено; } location /mqtt { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; proxy_set_header Хост $http_host; proxy_set_header X-Nginx-Proxy true; прокси_пароль http://114.114.114.110:1900;
прокси_перенаправление выключено;
}
}
Пункт 2: Обновите http до websocket
http { map $http_upgrade $connection_upgrade { обновление по умолчанию; '' закрывать; }
......
Измените указанное выше местоположение /mqtt
местоположение /mqtt { proxy_http_version 1.1; proxy_set_header Обновить $http_upgrade; proxy_set_header Соединение $connection_upgrade; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forward-For $proxy_add_x_forwarded_for; proxy_set_header Хост $http_host; proxy_set_header X-Nginx-Proxy true; прокси_пасс http://114.115.201.210:1900; прокси_перенаправление выключено; }
2. Сопоставление портов
Например, nginx настраивает службу порта 5001.
сервер { слушать 5001; client_max_body_size 100 м; proxy_send_timeout 180 с; proxy_read_timeout 600 с;
местоположение / { ......
}
расположение ^~ /manage { proxy_pass http://127.0.0.1:5000;
......
}
расположение/узел { proxy_pass http://127.0.0.1:5000;
......
}
}
Доступ к доменному имени необходимо настроить, сопоставить с портом 80, настроить в том же
nginx.conf //114.114 .114.145:5001; proxy_redirect выключен; } }