码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2018-03-17 12:57:11      阅读:1892      评论:0      收藏:0      [点我收藏+]

标签:开头   roc   serve   nta   location   att   off   查找   rect   

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

标签:开头   roc   serve   nta   location   att   off   查找   rect   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!