分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

[Nginx]-外部多端口映射Https443端口配置

发布时间:2023-09-06 01:46责任编辑:彭小芳关键词:配置

https服务器配置完成后,域名访问默认匹配至443端口,如果想同时通过https域名网址来请求多个对外服务,就需要在Nginx配置里来对请求进行规则判断,并匹配至相应的内部端口,这也是Nginx反向代理强大功能之一,本文主要是自己配置过程的记录,欢迎讨论之指正。

Nginx匹配规则

为了实现预期功能,需要在Nginx配置文件下,对443端口添加多个location匹配规则,规则说明如下:

模式含义
location = /uri= 表示精确匹配,只有完全匹配上才能生效
location ^~ /uri^~ 开头对URL路径进行前缀匹配,并且在正则之前。
location ~ pattern开头表示区分大小写的正则匹配
location ~* pattern开头表示不区分大小写的正则匹配
location /uri不带任何修饰符,也表示前缀匹配,但是在正则匹配之后
location /通用匹配,任何未匹配到其它location的请求都会匹配到,相当于switch中的default

多个 location 配置的情况下匹配顺序为:

  • 首先精确匹配 =
  • 其次前缀匹配 ^~
  • 其次是按文件中顺序的正则匹配
  • 然后匹配不带任何修饰的前缀匹配。
  • 最后是交给 / 通用匹配
  • 当有匹配成功时候,停止匹配,按当前匹配规则处理请求

总结:所以需求实现的关键,在于利用不同的匹配规则来映射相应的端口。

查找Nginx配置文件路径

如果需要操作的centos服务器的nginx服务不是自己部署配置,就需要利用指令来查找nginx服务的配置文件。

  1. 查看nginx的PID,以常用的80端口为例:

    netstat -anop | grep 0.0.0.0:80
  2. 通过相应的进程ID(比如:4562)查询当前运行的nginx路径:

    ll ?/proc/4562/exe
  3. 获取到nginx的执行路径后,使用-t参数即可获取该进程对应的配置文件路径,如:
    ```

    /usr/local/nginx/sbin/nginx -t

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

## 添加匹配规则在已经配置好的443端口下,继续添加location规则

HTTPS server

#server { ???listen 443; ???server_name localhost; ???ssl on; ???root html; ???index index.html index.htm; ???????*ssl证书配置规则* ???????location / { ???????proxy_pass ?*服务器域名*; ???}location /testA { ????????proxy_redirect off; ??????proxy_pass http://localhost:12345; ???}location /testB{ ????????proxy_redirect off; ??????proxy_pass http://localhost:23456; ???}}
保存修改后,进行nginx的执行路径,先测试配置文件是否正确:

/usr/local/nginx/sbin/nginx -t

如果正确,重启nginx服务。

/usr/local/nginx/sbin/nginx -s reload

``如果一切正常,则即可在外部通过https://服务器域名/testA`和`https://服务器域名/testB`来完成不同的服务请求。

[Nginx]-外部多端口映射Https443端口配置

原文地址:https://www.cnblogs.com/zzayne/p/8588754.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved