nginx配置http和ms转发

nginx配置http和ms共同转发,需要如下两步操作:

一.添加map配置映射表:

map $http_upgrade $connection_upgrade {
       default       keep-alive;
       'websocket'   upgrade; 
   }

如果只需要配置ms转发,则按照如下配置:

map $http_upgrade $connection_upgrade {
     default upgrade;
     ''      close;
}

二.proxy中添加proxy_set_header 等信息:

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection  $connection_upgrade;

完整示例如下(同时支持http和ms):

# nginx.conf文件
http {
  map $http_upgrade $connection_upgrade {
       default       keep-alive;
       'websocket'   upgrade; 
  }
  server {
        listen       8081;
        server_name  localhost;
        root   html/dist;

        location / {
            root  /workspace/fontend/
        }
        location ~^(ms|api|test) {
		        proxy_pass http://127.0.0.1:8080
		        proxy_http_version 1.1;
		        proxy_set_header Upgrade $http_upgrade;
		        proxy_set_header Connection  $connection_upgrade;
        }
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
配置Nginx同时支持HTTPHTTPS,您需要进行如下步骤: 1. 安装Nginx: 在Ubuntu中,可以使用以下命令安装Nginx: ``` sudo apt-get update sudo apt-get install nginx ``` 2. 配置HTTP: 默认情况下,Nginx已经配置为监听端口80,并将HTTP流量转发到正确的位置。您可以使用文本编辑器打开`/etc/nginx/sites-available/default`文件进行进一步配置: ``` sudo nano /etc/nginx/sites-available/default ``` 在`server`块中添加以下内容,以配置HTTP: ``` server { listen 80; server_name your_domain.com; location / { # 配置HTTP的处理逻辑 } } ``` 将`your_domain.com`替换为您的域名,然后保存并关闭文件。 3. 配置HTTPS: 要启用HTTPS,您需要获得一个有效的SSL证书。您可以购买商业证书,或使用免费的Let's Encrypt证书。安装并配置certbot工具来获取Let's Encrypt证书: ``` sudo apt-get install certbot sudo certbot certonly --nginx -d your_domain.com ``` `your_domain.com`替换为您的域名。根据提示完成证书申请过程。 4. 更新Nginx配置以支持HTTPS: 使用文本编辑器打开`/etc/nginx/sites-available/default`文件,并添加以下内容以配置HTTPS: ``` server { listen 443 ssl; server_name your_domain.com; ssl_certificate /etc/letsencrypt/live/your_domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your_domain.com/privkey.pem; location / { # 配置HTTPS的处理逻辑 } } ``` 将`your_domain.com`替换为您的域名,并确保`ssl_certificate`和`ssl_certificate_key`路径正确指向您的证书文件。保存并关闭文件。 5. 重启Nginx: 完成配置后,使用以下命令重启Nginx以使更改生效: ``` sudo service nginx restart ``` 现在,您的Nginx服务器应该同时支持HTTPHTTPS。您可以根据需要在每个`location`块中定义适当的处理逻辑来区分HTTPHTTPS请求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值