Nginx configures multiple domain names and webSocket

Configure domain names A and B on the same server to point to different paths and configure webSocket

The configuration is as follows,

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

	# 主域名配置
	server {
		listen 80;
		server_name www.域名A;
		location / {
			proxy_pass http://xxxxxxxxx:8080/;
			proxy_set_header Host $host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

			}
		location /cdm {
			alias /usr/tomcat8.5/cdmHtml/cdm;
            index index.html;

			}
		location /QUEfggrRaz.txt {
			alias /usr/local/nginx/data_text;
			index QUEfggrRaz.txt;

			}
		location /webSocket/ {
			proxy_pass http://xxxxxxx:8080/webSocket/;
			# 转发websocket需要的设置
			#proxy_set_header X-Real_IP $remote_addr;
			#proxy_set_header Host $host;
			#proxy_set_header X_Forward_For $proxy_add_x_forwarded_for;
			proxy_read_timeout 360s;
			proxy_http_version 1.1;
			proxy_set_header Upgrade $http_upgrade;
			proxy_set_header Connection "Upgrade";
			proxy_set_header X-Real-IP $remote_addr;


		}
		if ($scheme = http) {
             return 301 https://$server_name$request_uri;
   		 }

		}
	server {
		listen       80;
		server_name www.域名B;
		location / {
			root /usr/local/home;
			index  index.html;
			}
		return 301 https://$host$request_uri;
		}
	# 二级域名可继续添加
	
	# 主域名https配置
	server {
		listen       443 ssl;
		server_name www.域名A;
		ssl_certificate 证书A;
		#私钥文件名称
		ssl_certificate_key 证书B;
		ssl_session_timeout 5m;
		#请按照以下协议配置
		ssl_protocols TLSv1.2; 
		#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
		ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
		ssl_prefer_server_ciphers on;
		location / {
		#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
			proxy_pass http://xxxxxxxxx:8080/;
			proxy_redirect  off;     
			proxy_set_header        Host    $http_host;     
			proxy_set_header        X-Real-IP       $remote_addr;     
			proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;     
			proxy_set_header   Cookie $http_cookie;
			#proxy_cookie_path
			chunked_transfer_encoding       off;
			}
		location /cdm {
			alias /usr/tomcat8.5/cdmHtml/cdm;
			index index.html;
			}

		location /webSocket/ {
			proxy_pass http://xxxxxxxx:8080/webSocket/;
			# 转发websocket需要的设置
			#proxy_set_header X-Real_IP $remote_addr;
			#proxy_set_header Host $host;
			#proxy_set_header X_Forward_For $proxy_add_x_forwarded_for;
			proxy_read_timeout 360s;
			proxy_http_version 1.1;
			proxy_set_header Upgrade $http_upgrade;
			proxy_set_header Connection "Upgrade";
		}
	}
	
	server {
		listen       443 ssl; 
		server_name www.域名B;
		ssl_certificate 证书B;
		#私钥文件名称
		ssl_certificate_key 证书B;
		ssl_session_timeout 5m;
		#请按照以下协议配置
		ssl_protocols TLSv1.2; 
		#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
		ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
		ssl_prefer_server_ciphers on;
		location / {
				root /usr/local/home;
				index  index.html;
				}
	}

}

Configure webSocket remember the path behind
Insert picture description here

Guess you like

Origin blog.csdn.net/qq_38095257/article/details/111405248