CentOS利用nginx设置80、443端口转发(Port forwarding)

操作环境:

CentOS7、nginx1.11.6、tomcat

问题描述:

项目基于tomcat开放的8088端口,为避免访问时输入8088端口号的麻烦,需要将直接通过域名(80、443端口)的访问转发至8088端口。

解决途径:

利用nginx的端口转发功能,将对80、443端口的访问转发至8088端口。

需要改动nginx配置文件nginx.conf中的server段。

下面以80端口转发8088为例,443端口以此类推,location段内为转发功能的实现。

server {
    listen 80;
    server_name www.xxx.com; # 多个域名可用空格隔开

    location / {
        proxy_pass http://127.0.0.1:8088; # 转发至8088端口,关键部分
        
        # 相关配置,可省略
        proxy_read_timeout 600s;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host:$server_port; # 配置后不会丢失端口
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

小结:

我在实现端口转发时碰到了转发失败的情况,原因是443端口未打开,而每次通过域名访问都会自动以https的方式访问,导致一直转发失败,在小问题上浪费了不少时间,因此总结了一些查错的步骤以供再次碰到时参考。

1.服务器

(1)服务器是否正常工作

(2)监听的端口(如80、443)及转发的端口(如8088)是否全部打开

(3)防火墙开启与否,开启则相应端口是否在白名单

2.域名

(1)域名是否备案(否则80端口将被屏蔽)、到期

3.软件

(1)项目及软件是否配置正确(即域名+端口号是否能访问想要转发的项目,能访问则配置正确)

(2)相应端口号是否已被占用or冲突

(3)nginx权限是否够(nginx.conf中user句,后面可尝试先改为root,看是否能访问,能访问则后续创建所需要的权限的新用户,最好不要一直设为root)

 

 

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值