nginx转发

一.为什么要转发
  • 80端口是为HTTP(HyperText Transport Protocol)即超文本传输协议开放的,此为上网冲浪使用次数 最多的协议,主要用于WWW传输信息的协议。可以通过HTTP地址(即常说的“网址”)加“:80”来访问网站,因为浏览网页服务默认的端口号都是80,因此只要输入网址即可,不需要输入端口号来进行访问。
  • 8080端口为tomcat服务器默认配置端口,所以我想直接访问网址而不加端口来访问我tomcat下部署的项目时,必须进行端口转发。(即要达到这样一个效果:直接访问www.baidu.com访问的是8080端口,而不是其80端口)
二.nginx将80端口转发到8080的具体步骤
  • nginxconf/nginx.conf配置

        #gzip  on;
        upstream webserver{
            server ***.**.**.**:8080; #腾讯云外网地址+tomcat的8080端口
     }
    
        #nginx监听http请求,即80端口,nginx内部将其转发到8080端口,代理的是服务器,所以是反向代理
        server {
            listen       80;
            server_name  www.*****.cn; #域名信息,即你的域名解析到的主机地址
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
       
            location / {
                root   html;
                index  index.html index.htm;
                proxy_pass http://webserver;      #代理指向上边upstream配置的变量
            }
    
    
    
三. nginx各种类型的端口转发
  • 将域名转发到本地端口

    server{
      listen 80;
      server_name  tomcat.baidu.com;
      index  index.php index.html index.htm;
    
      location / {
        proxy_pass  http://127.0.0.1:8080; # 转发规则
        proxy_set_header Host $proxy_host; # 修改转发请求头,让8080端口的应用可以受到真实的请求
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      }
    }
    
    

    这样访问 http://tomcat.baidu.com 时就会转发到本地的 8080 端口

  • 将域名转发到另一个域名

    server{
      listen 80;
      server_name  baidu.wode.com;
      index  index.php index.html index.htm;
    
      location / {
        proxy_pass  http://www.baidu.com;
        proxy_set_header Host $proxy_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      }
    }
    
    

    这样访问 http://baidu.wode.com 时就会转发到 http://www.baidu.com

  • 本地一个端口转发到另一个端口或另一个域名

    server{
      listen 80;
      server_name 127.0.0.1; # 公网ip
      index  index.php index.html index.htm;
    
      location / {
        proxy_pass  http://127.0.0.1:8080; # 或 http://www.baidu.com
        proxy_set_header Host $proxy_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      }
    }
    
    

    这样访问 http://127.0.0.1 时就会转发到本地的 8080 端口或 http://www.baidu.com

windows关闭nginx
taskkill /f /t /im nginx.exe

将本地目录转发nginx

server
        {
                listen 999;
                listen [::]:999;
                server_name linglong.fun;
                root /root/file;  
        }

端口配置ssl:访问/www/wwwroot/pert目录下的文件url为 ip:66/question/文件名;访问/www/wwwroot/andun/upload目录下的文件url为ip:66/文件名

server
        {
                listen 66 ssl;
                listen [::]:66;
		ssl_certificate /root/8505228_bsrs.top.pem;
		ssl_certificate_key /root/8505228_bsrs.top.key;
                server_name bsrs.top;
                root /www/wwwroot/andun/upload;
                location /question {
                    alias /www/wwwroot/pert;
                }
        }

重启nginx

/etc/rc.d/init.d/nginx restart

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值