分享关于Hyperf中http、websocket在Nginx中的配置

2019年12月16日 547 次阅读 0 条评论 2 人点赞

官方文档里其实也提到了关于在nginx配置的介绍,但似乎有不少同学仍然会遇到一些问题,这里把我项目的配置文件分享出来,仅供参考~

代码参考如下:

upstream web {
    server 127.0.0.1:9501;
}

upstream websocket {
    server 127.0.0.1:9588;
}

server
{
    listen 80;
	
    listen 443 ssl http2;
	
    ssl_certificate /www/cert/*****.pem;
    ssl_certificate_key /www/cert/*****.key;
    ssl_session_timeout 5m;
    ssl_session_cache shared:SSL:10m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 SSLv2 SSLv3;
    ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    ssl_prefer_server_ciphers on;
    ssl_verify_client off;
   
    server_name ****.com;
    #index index.php index.html index.htm default.php default.htm default.html;
    #root /www/wwwroot/****;
	
    if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }

    location /wss
    {
        # WebSocket Header
        proxy_http_version 1.1;
        proxy_set_header Upgrade websocket;
        proxy_set_header Connection "Upgrade";

        # 将客户端的 Host 和 IP 信息一并转发到对应节点  
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;

        # 客户端与服务端无交互 60s 后自动断开连接,请根据实际业务场景设置
        proxy_read_timeout 60s ;

        # 执行代理访问真实服务器
        proxy_pass http://websocket;
    }
     
    location / {
        # 将客户端的 Host 和 IP 信息一并转发到对应节点  
        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_pass http://web;
    }
    
    
    access_log  /www/wwwlogs/****.log;
    error_log  /www/wwwlogs/****.error.log;
}

如果需要配置静态目录访问,增加静态目录配置即可

讲梦想、讲奋斗可以,前提是钱要给够。

文章评论(0

接收回复邮件通知
非注册会员初次评论需要审核,审核时间(09:00-18:00),请耐心等待...