nginx代理https、wss配置、wss流式配置
使用nginx代理实现 https、wss的代理,对于nginx版本自行寻找对应的版本,有x86和arm的版本,但是配置文件是通用的,config目录下的nginx.conf
下面是简单对此conf文件的配置说明
1.有三个server服务代理,第一个是https的代理,第二个是wss的代理
2.第三个是wss的流式配置,适用于音频流等流式文件
3.代理https和wss是要有证书文件的,证书文件是由openssl生成的.crt和.key文件,这个自行下载openssl生成密钥
user root;
worker_processes 1; error_log /opt/nginx/logs/error.log; pid /opt/nginx/logs/nginx.pid; events {
worker_connections 102400;
use epoll;
multi_accept on;
} http { client_max_body_size 1024m;
sendfile on;
tcp_nopush on;
keepalive_requests 100;
keepalive_timeout 65;
underscores_in_headers on;
proxy_headers_hash_max_size 51200;
proxy_headers_hash_bucket_size 6400;
include mime.types;
default_type application/json;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log off; server {
server_name ip ; # 本机ip
proxy_set_header Host $host:$server_port;
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 $scheme; proxy_connect_timeout 5s;
listen 28081 ssl;
location /favicon.ico {
log_not_found off;
access_log off;
} ssl_certificate /opt/ssl/mycrt.crt;#证书文件路径
ssl_certificate_key /opt/ssl/private.key;#证书文件 location / {
root /opt/html;
index index.html index.htm;
try_files $uri $uri/ @router; proxy_set_header Host $host:$server_port;
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 $scheme; }
location @router{
rewrite ^.*S /index.html last;
} location /ds-aaa-web{
proxy_pass http://ip:14600/ds-aaa-web/;
}
location /ds-bbb-app/{
proxy_pass http://ip:12801/ds-bbb-app/;
} error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
} map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 10003 ssl;
server_name localhost;
ssl_certificate /opt/ssl/mycrt.crt;
ssl_certificate_key /opt/ssl/private.key;
ssl_session_timeout 20m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_verify_client off; location / {
proxy_http_version 1.1;
proxy_pass http://ip:10002;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_read_timeout 3600s;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
} #ws流式配置
server {
listen 10004 ssl;
server_name localhost;
ssl_certificate /opt/ssl/mycrt.crt;
ssl_certificate_key /opt/ssl/private.key;
ssl_session_timeout 20m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_verify_client off; location / {
proxy_http_version 1.1;
proxy_pass http://ip:12802;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_read_timeout 3600s;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_buffering off; #禁用响应缓存
chunked_transfer_encoding on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 300;
client_max_body_size 200m;
client_body_buffer_size 800m; }
} }
nginx代理https、wss配置、wss流式配置的更多相关文章
- nginx代理https站点(亲测)
nginx代理https站点(亲测) 首先,我相信大家已经搞定了nginx正常代理http站点的方法,下面重点介绍代理https站点的配置方法,以及注意事项,因为目前大部分站点有转换https的需要所 ...
- nginx 代理 https 后,应用变成 http
需求:nginx 代理 https,后面的 tomcat 处理 http 请求,sso 的客户端,重定向时需要带上 target,而这个 target 默认是 tomcat 的 http,现在需要把这 ...
- nginx 代理https后,应用redirect https变成http --转
原文地址:http://blog.sina.com.cn/s/blog_56d8ea900101hlhv.html 情况说明nginx配置https,tomcat正常http接受nginx转发.ngi ...
- 搬运 nginx代理https
oauth2-client在Nginx代理后遇到的问题和解决方案 2020-01-17 2020-05-27 TECH 30 MINUTES READ (ABOUT 4442 WORDS) OAu ...
- 开启Nginx代理HTTPS功能
1.首先查看是否已经安装SSL openssl version -a 2.生成SSL证书 在nginx目录下创建ssl文件夹 cd /etc/pki mkdir nginx cd nginx 生成20 ...
- 关于配置websocket,nginx转发https至wss问题
在本地测试通过的socket,再放到现在的有nginx代理之后发现会报:failed: Error in connection establishment: net::ERR_NAME_NOT_RES ...
- react-router 组件式配置与对象式配置小区别
1. react-router 对象式配置 和 组件式配置 组件式配置(Redirect) ----对应---- 对象式配置(onEnter钩子) IndexRedirect -----对应-- ...
- Nginx或Apache通过反向代理配置wss服务
nginx配置参考 前提条件及准备工作: 1.假设ws服务监听的是8282端口(websocket协议) 2.已经申请了证书(pem/crt文件及key文件)放在了/etc/nginx/conf.d/ ...
- Openssl自签证书|Nginx配置全站HTTPS,包括WSS(websocket)
一.生成自签证书 如果有购买证书的,可忽略此步骤. 生成方法一: openssl genrsa -des3 -out ca.key 1024 openssl rsa -in ca.key -out c ...
- 实现Nginx代理WSS协议
因为线上H5游戏需要加上SSL,不想在原来的Web 服务器和游戏服务器支持SSL,只希望 在Nginx代理集群支持SSL.整体架构如下: 从上图可以看出需要总共涉及到https/http 和wss/w ...
随机推荐
- 为什么不建议通过Executors构建线程池
Executors类看起来功能还是比较强大的,又用到了工厂模式.又有比较强的扩展性,重要的是用起来还比较方便,如: ExecutorService executor = Executors.newFi ...
- 自定义的 Vue 3 Composition API 钩子,antd标签
1. 创建自定义钩子 useDeviceStatus.js: import { computed } from 'vue'; export function useDeviceStatus(statu ...
- 【Node.js】npm配置国内镜像源
[服务器]npm配置国内镜像源 零.问题 配置Node.js的HTTPS的时候,下载不了 一.解决 这里使用的是淘宝的镜像: npm config set registry https://regis ...
- Ubuntu下Ibus和fcitx的奇葩问题
最近装了个Ubuntu,捉鸡的输入法令人哀伤. 于是乎,卸载了自带Ibus和fcitx出现各种问题,留爪. 首先,卸载了Ibus,会出现的问题如下: 注销/重启系统有问题 系统设置菜单选项缺失 -&g ...
- CSS文本超出省略
语法: text-overflow:clip|ellipsis|"任意字符" <!DOCTYPE html> <html> <head> < ...
- RESTful的连接时间超时时间设定
dsResrful的连接方式时,如何设定timeout呢? DSRestConnection.HTTP.ConnectTimeout := 5000; 就这么简单.因为封装的indy的TidHTTP. ...
- 工具推荐-根据IP地址精确定位经纬度(永久免费)
今天小张由于业务需求,需要根据用户的访问ip精确定位用户的国家.城市.及经纬度等信息,从网上进行搜索,发现不少的网站,但几乎没有完全符合的,有个别符合的还需要花钱,大家也知道,现在是信息共享的时代,难 ...
- devops 2024
What is DevOps? DevOps is a mindset, a culture, and a set of technical practices. It provides commun ...
- vscode安装离线插件autopep8
商店 从上面的链接进去,在visual studio code一栏开始搜索,我要的是autopep8,所以搜索得到的是这样的: 点进去后,是这个界面,然后我是离线下载,要的是拓展包,所以是下面操作 下 ...
- Nginx+Windows搭建域名访问环境, 由nginx --> 网关 ---> 服务
1).修改windows hosts文件改变本地域名映射,将gulimall.com映射到虚拟机ip 2).修改nginx的根配置文件nginx.conf,将upstream映射到我们的网关服务 up ...