nginx 역방향 에이전트 http 변환 https ws 변환 ws 서버 변 하지 않 음

nginx 역방향 에이전트 http 변환 https ws 변환 ws 서버 변 하지 않 음
이 블 로 그 는 주로 nginx http 에서 https 로 전환 하 는 설정 문제 와 ws 에서 ws 로 전환 하 는 설정 을 해결 합 니 다.이 설정 의 장점 은 배경 원래 http 코드 를 수정 할 필요 가 없다 는 것 입 니 다.
주요 구성 안내
http 설정 소개
http {
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  /var/log/nginx/access.log  main;

sendfile            on;
tcp_nopush          on;
tcp_nodelay         on;
keepalive_timeout   65;
types_hash_max_size 2048;

include             /etc/nginx/mime.types;
default_type        application/octet-stream;

# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
#include /etc/nginx/conf.d/*.conf;

#   server   http    80   80   ,     443  
server {
    listen       80;
#        listen       [::]:80 default_server;
    server_name  xx.xx.xx.xx;
#       ,             
rewrite ^(.*)$ https://${server_name}$1 permanent;
#        root         /usr/share/nginx/html;

    \# Load configuration files for the default server block.
#        include /etc/nginx/default.d/*.conf;

    	location / {
#       80         8080  
#		proxy_pass http://xx.xx.xx.xx:8080;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Port $server_port;
    	}

#        error_page 404 /404.html;
#            location = /40x.html {
#        	}

#        error_page 500 502 503 504 /50x.html;
#            location = /50x.html {
#        	}
}

https 설정 소개
server {
    listen       443;
#        listen       [::]:443 ssl http2 default_server;
    server_name  xx.xx.xx.xx;
#	server_name localhost;
#        root         /usr/share/nginx/html;
ssl on;

ssl_certificate "/usr/cert/barrage.crt";
ssl_certificate_key "/usr/cert/barrage.key";
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  10m;
#        ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
ssl_protocols SSLv3 SSLv2 TLSv1 TLSv1.1 TLSv1.2;	


    # Load configuration files for the default server block.
#        include /etc/nginx/default.d/*.conf;
#  443   https       8080  , http  ,           
    location /{ 
	proxy_pass http://xx.xx.xx.xx:8080;
	proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Port $server_port;
    }


#           ,       tomcat     404   ,    ,               nginx root     
location ~ .*\.(jpg|jpeg|gif|png|ico|css|js|pdf)$ {
	root /usr/share/nginx/static/static/;
}

#        error_page 404 /404.html;
#            location = /40x.html {
#        }

#        error_page 500 502 503 504 /50x.html;
#            location = /50x.html {
#        }
}

ws 변환 ws 설정 방식 서버 에서 웹 소켓 감청 을 시작 하려 면 0.0.0.0 주 소 를 사용 하 십시오.localhost 와 127.0.0.1 을 사용 하면 외부 네트워크 에 접근 할 수 없습니다.
#   socket    9999,      ,   9990     9999,     wss ws,          
server {
    listen 9990;
    server_name xx.xx.xx.xx;
    
    ssl on;
    ssl_certificate "/usr/cert/barrage.crt";
ssl_certificate_key "/usr/cert/barrage.key";
    ssl_protocols SSLv3 SSLv2 TLSv1 TLSv1.1 TLSv1.2;
ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  10m;
    ssl_prefer_server_ciphers on;
    

    location /{
        #     9999  ,       http,               
        proxy_pass http://120.77.222.242:9999;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        #        (           )    "Upgrade"   ,       "upgrade"        http         ,  websocket    
        proxy_set_header Connection "Upgrade";
        proxy_set_header Remote_addr $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_read_timeout 600s;
    }
}

좋은 웹페이지 즐겨찾기