配置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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在Spring Boot中配置WebSocket wss的步骤: 1.在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-websocket</artifactId> </dependency> ``` 2.创建WebSocketConfig类并添加@Configuration和@EnableWebSocket注解: ```java @Configuration @EnableWebSocket public class WebSocketConfig implements WebSocketConfigurer { // WebSocket配置代码 } ``` 3.实现WebSocketConfigurer接口并重写registerWebSocketHandlers方法: ```java @Override public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) { registry.addHandler(myHandler(), "/websocket") .setAllowedOrigins("*") .withSockJS(); } @Bean public WebSocketHandler myHandler() { return new MyHandler(); } ``` 4.创建MyHandler类并实现WebSocketHandler接口: ```java public class MyHandler implements WebSocketHandler { // WebSocket处理代码 } ``` 5.在application.properties文件中添加以下配置: ```properties server.port=8443 server.ssl.key-store=classpath:keystore.p12 server.ssl.key-store-password=changeit server.ssl.keyStoreType=PKCS12 server.ssl.keyAlias=tomcat ``` 6.使用keytool生成证书: ```shell keytool -genkeypair -alias tomcat -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore keystore.p12 -validity 3650 ``` 7.启动应用程序并访问wss://localhost:8443/websocket即可连接WebSocket服务器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值