配置Websocket wss连接

配置文件:

#加固规则2.1.2:使用单独的用户执行。
user nginx;

#加固建议2.1.2:使用自动检测CPU核数。
worker_processes auto;

#加固建议2.1.2:增大Nginx的最大并发链接数。
worker_rlimit_nofile 65535;

events {
	use epoll;

	#加固建议2.1.2:增大Nginx的最大并发链接数。
	worker_connections 65535;
}

http {
	#加固规则2.6.1:启用XSS保护
	add_header X-XSS-Protection "1; mode=block";

	#加固规则2.6.2:减少点击劫持
	add_header X-frame-options deny;

	#加固规则2.6.3:禁用浏览器的类型猜测
	add_header X-Download-Options nosniff;

	#标准类型
	include mime.types;
	default_type application/octet-stream;

	#开启sendfile函数调用
	sendfile on;
	tcp_nopush on;

	#加固规则2.2.7:限制http请求的消息主体和消息头的大小
	client_header_buffer_size 32k;
	large_client_header_buffers 4 32k;

	#为打开文件指定缓存
	open_file_cache max=65535 inactive=20s;
	open_file_cache_valid 30s;
	open_file_cache_min_uses 1;

	#加固规则2.1.3:隐藏或伪装Nginx的版本及版本相关提示信息
	server_tokens off;

	#加固规则2.2.4:禁止开启Nginx的目录列表功能
	autoindex off;

	#加固规则2.2.5:禁止Nginx重定向至监听端口
	port_in_redirect off;

	#gzip模块设置,开启gzip压缩输出
	gzip on;
	gzip_min_length 1k;
	gzip_buffers 4 16k;
	gzip_http_version 1.1;
	gzip_comp_level 2;
	gzip_types image/gif text/plain application/x-javascript text/css application/xml;
	gzip_vary on;

	#加固规则2.2.8:配置Nginx的网络超时时间
	client_body_timeout 10;
	client_header_timeout 30;
	keepalive_timeout 45;
	send_timeout 10;

	#不开启NGINX的日志功能。nginx仅作为接口转发,问题定位主要依赖业务日志。
	#access_log /var/log/xxx/nginx/access.log;
	#error_log /var/log/xxx/nginx/error.log;

	#xxxx后端地址
	upstream xxxxServer{
        	ip_hash;
        	server 172.xx.xx.xxx:7443;server 172.xx.xx.xxx:7443;
    	}

	server
	{
		listen 5000;
		server_name $remote_addr;

		#加固规则2.2.7:限制http请求的消息主体和消息头的大小
		client_header_buffer_size 1k;
		large_client_header_buffers 4 8k;
		client_body_buffer_size 16K;
		client_max_body_size 1m;

		location / {
			#limit_except GET POST
			#{
			# 	deny all;
			#}
			proxy_pass https://xxxxServer;
			proxy_set_header Host $host;

			#加固建议2.5.1:记录客户端IP
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

			proxy_read_timeout 10m;
			proxy_buffer_size 64k;
			proxy_buffers 32 32k;
			proxy_busy_buffers_size 128k;

			#支持websocket长连接
			proxy_set_header Upgrade $http_upgrade;
			proxy_set_header Connection "upgrade";
		}

		#加固规则2.7.1:启用SSL功能
		ssl on;

		#加固规则2.7.3:使用安全的TLS协议
		ssl_protocols TLSv1.1 TLSv1.2;

		#加固规则2.7.4:设置SSL会话缓存(10MB共享内存)
		ssl_session_cache shared:SSL:10m;

		#加固规则2.7.2:设置合适的超时时间(10分钟)
		ssl_session_timeout 10m;

		#加固规则2.7.5:使用安全的加密套件
		ssl_ciphers "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES256-SHA:HIGH:!MEDIUM:!LOW:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4:@STRENGTH";

		#加固规则2.7.5:协商时优先使用服务器指定的加密算法
		ssl_prefer_server_ciphers on;

		#加固规则2.7.6:使用2048位的DHE Parameters
		#ssl_dhparam dh2048.pem;

		#配置证书
		ssl_certificate ssl/huawei.com.crt;
		ssl_certificate_key ssl/huawei.com.key;
	}
}
原文地址:https://www.cnblogs.com/byso/p/10041409.html