centos下nginx反向代理

很简单,一个服务器只有一个ip,可想nginx占了80端口,tomcat项目要用带8080或者其他端口的来访问,在微信开发或者其他不想带端口的地方,怎么做?

做一下nginx的反向代理就可以了:

本文是在centos下面的nginx来配置:

加入你的tomcat 有一个项目叫做demo1,之前是通过http://xxx.com:8080/demo1来访问,如何改成用http://xxx.com/demo1来访问,接着看:

修改nginx的目录下的conf/nginx.conf中的server如下:

 #下面是server虚拟主机的配置

 server

  {

    listen 80;#监听端口

    server_name localhost;#域名

    index index.html index.htm index.php;

    root /usr/local/webserver/nginx/html;#站点目录

    location ~ .*\.(php|php5)?$

    {

      #fastcgi_pass unix:/tmp/php-cgi.sock;

      fastcgi_pass 127.0.0.1:9000;

      fastcgi_index index.php;

      include fastcgi.conf;

    }

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$

    {

      expires 30d;

  # access_log off;

    }

    location ~ .*\.(js|css)?$

    {

      expires 15d;

   # access_log off;

    }

    access_log off;


    #下面都是自定义的反向代理

    location /demo1{

proxy_pass http://h500.cn:8080/demo1;#主要是这里,配置java web项目的端口和项目名

proxy_set_header  Host  $host;

proxy_set_header  X-Real-IP  $remote_addr;  

        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;  

        client_max_body_size  100m;  

        root   html;  

        index  index.html index.htm; 

    }

  }


重启nginx生效: /usr/nginx/sbin/nginx -s reload


注意:我后来测试,想把8080端口的整个tomcat的请求都去掉端口号,做法:

  location ^~  /tomcat/{

proxy_pass http://127.0.0.1:8080/;#主要是这里,配置 http://127.0.0.1/tomcat 所要访问的真实地址

proxy_set_header  Host  $host/tomcat; #特别注意此处,要加上/tomcat,否则,http://127.0.0.1/tomcat 是对了,后面再跳转就不带/tomcat 而报错.

proxy_set_header  X-Real-IP  $remote_addr;  

        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;  

  }

这样的话,以前,http://ip:8080来访问tomcat的,全部都可以去掉8080端口,直接使用:http://ip/tomcat来访问



参考:http://blog.csdn.net/juan0728juan/article/details/53019997#

http://blog.csdn.net/qq_28877125/article/details/67089408


猜你喜欢

转载自blog.csdn.net/kepoon/article/details/73195628