小白:一文让你了解nginx和jetty之间的私事儿(四)------ 如何让nginx跳转到指定项目

写在前面的话

关于nginx和jetty之间的事儿是三少奶奶写的一个系列,每个系列环环相扣,所以强烈建议读者从第一话开始食用,希望能对你有所帮助

以下附上系列博文链接

1,如何为nginx配置https

2,如何强制从http跳转到https

3,如何实现静态资源分离

4,nginx如何跳转到指定项目

本文主要讲解如何在用户输入域名后直接跳转到我们指定的项目

步骤一:我们在第一个location中的proxy_pass 反向代理的url,由proxy_pass http://localhost:8181/修改成proxy_pass http://localhost:8181/myproject; 即在后面添加了我们放在jetty下的项目名称(myproject),当然,你可以修改成你自己的项目名称

步骤二:再添加一个location模块,localhost后面的正则表达式 匹配的是你项目名称。具体代码如下

解决方法:我们只需要在nginx的配置文件中加入如下代码即可

location  /
        {
           proxy_pass http://localhost:8181/myproject;
        }

location  ^~ /myproject/
        {
           proxy_pass http://localhost:8181;
        }

解释:当客户端输入域名时 会先走第一个location代理的url,然后,其他的请求就会走第二个location代理的url

 

下面给出这个系列的完整代码


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    ssl_session_cache   shared:SSL:10m;
    ssl_session_timeout 10m;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    sendfile        on;
 	server {
		listen 80;
		server_name www.demo.xyz; #备案域名
		rewrite ^ https://$http_host$request_uri? permanent;
	}

    server {
        listen       443 ssl;
        server_name www.demo.xyz; #备案域名
        
        keepalive_timeout   70;
        ssl_certificate     1_www.demo.xyz_bundle.crt; #申请的域名证书
        ssl_certificate_key 2_www.demo.xyz.key;  #申请的域名证书
        ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers         HIGH:!aNULL:!MD5;
        add_header Strict-Transport-Security "max-age=31536000; includeSubDomains;preload" always;

location  /
        {
           proxy_pass http://localhost:8181/你的项目名称/;
        }
	location  ^~ /你的项目名称/
        {
           proxy_pass http://localhost:8181;
        }

	location ^~ /upload/
        {
           expires      7d; #缓存7天
           alias  C:/Users/Administrator/Desktop/jetty-distribution-9.4.18.v20190429/webapps/upload/;
        }


location ^~ /myproject/plugins/
        {
           expires      7d;
# 所有css和js文件 在硬盘中的位置
           alias  C:/Users/Administrator/Desktop/jetty-distribution-9.4.18.v20190429/webapps/myproject/WEB-INF/static/plugins/;
	   autoindex on;
        }

        
    }
}

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值