V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
jackzhan
V2EX  ›  NGINX

现在创建了一个 Nginx,一个 Springboot 的项目,两个容器,我现在想让直接访问域名的方式,让 Nginx 代理到我的项目首页,请问这个 Nginx 应该怎么配置

  •  
  •   jackzhan · 2019-01-15 14:21:28 +08:00 · 3744 次点击
    这是一个创建于 1900 天前的主题,其中的信息可能已经有所发展或是发生改变。
    14 条回复    2019-01-15 15:58:29 +08:00
    xnode
        1
    xnode  
       2019-01-15 14:24:28 +08:00
    Springboot 8080 nginx 80 然后 反带 127.0.0.1:8080
    shangfabao
        2
    shangfabao  
       2019-01-15 14:32:03 +08:00
    boot 跟 tomcat 启动起来都一样啊
    jackzhan
        3
    jackzhan  
    OP
       2019-01-15 14:33:36 +08:00
    @shangfabao 使用的 docker,没怎么用过,两个容器之间,不知道怎么弄
    AndyVTEX
        4
    AndyVTEX  
       2019-01-15 14:47:37 +08:00
    docker-compose 了解一下
    SorcererXW
        5
    SorcererXW  
       2019-01-15 14:48:39 +08:00
    配置好容器的端口映射,然后正常配置 nginx 反代就好了,和直接部署 tomcat 一样
    houzhimeng
        6
    houzhimeng  
       2019-01-15 14:51:49 +08:00
    不就是跟 tomcat 一样么。。。
    jackzhan
        7
    jackzhan  
    OP
       2019-01-15 14:58:00 +08:00
    我是 Nginx 小白。。。配置都是拷贝的
    server
    {
    listen 80;
    server_name localhost;
    index /login; ==》 这个地方不能配置成访问的接口吗
    root /;
    location ~ .*\.(php|php5)?$
    {
    fastcgi_pass 127.0.0.1:8085;
    fastcgi_index /login;
    }
    }

    一直报错:*4 open() "/login" failed (2: No such file or directory), client: ******, server: ******, request: "GET / HTTP/1.1", host: "********"
    小白一个,问下大佬,应该怎么配置
    HangoX
        8
    HangoX  
       2019-01-15 15:02:37 +08:00
    你用 docker 的话,需要把 springboot 加入到 nginx 中的 docker 网络,不然 nginx 是没办法通过内部端口访问的,那个东西比较负责,但是有个项目可以一键完成,就是 ngxin-proxy 这个东西启动了之后,后面启动的东西只需要输入相应的域名一起启动就能都加入 ngnix 网络中,并根据域名进行反代了
    jackzhan
        9
    jackzhan  
    OP
       2019-01-15 15:03:44 +08:00
    @HangoX 谢谢,我去查查这个资料
    CivAx
        10
    CivAx  
       2019-01-15 15:13:17 +08:00
    访问域名的方式:你配解析了吗?如果没有买域名,本地 named 服务装了吗? resolve.conf 的服务器改了吗

    NGINX 代理到项目首页:项目有前端页面吗?对应开放端口是什么?前端展示端口暴露了吗? docker exec -it nginx bash 进去直接改 nginx.conf 加一条反代配置
    edigar
        11
    edigar  
       2019-01-15 15:15:41 +08:00
    应该是 proxy_pass 吧,映射到服务器可以访问到的端口
    alexmy
        12
    alexmy  
       2019-01-15 15:49:03 +08:00
    server {
    listen 80;
    # 改为你的域名
    server_name xxxx.com;
    return 301 https://$host$request_uri;
    }


    upstream app_proxy {
    # 后端网关地址
    # least_conn;
    # 这里转发到你的服务器上
    server 172.19.1.23:8001 max_fails=10 fail_timeout=10s;
    keepalive 16;
    }

    server {
    listen 443;
    # 改为你的域名
    server_name xxxx.com;

    # 1.5 版本后有警告
    ssl on;

    # 证书申请后请放在 /etc/nginx/ssl 对应的站点下(docker 中的路径)
    ssl_certificate /etc/nginx/ssl/xxxx.com/fullchain.cer;
    ssl_certificate_key /etc/nginx/ssl/xxxx.com/xxxx.com.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    server_tokens off;
    sendfile on;

    gzip on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_comp_level 2;
    gzip_types text/plain application/x-javascript application/javascript text/css;
    gzip_vary on;
    gzip_disable "MSIE [1-6]\.";

    client_max_body_size 10m;

    location / {
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    set $Real $http_x_forwarded_for;
    if ( $Real ~ (\d+)\.(\d+)\.(\d+)\.(\d+),(.*) ){
    set $Real $1.$2.$3.$4;
    }
    proxy_set_header X-Real-Ip $Real;
    proxy_pass http://app_proxy;
    }
    }

    nginx 的配置,转发到你的服务器上,不了解 Sprintboot 什么的,希望对你有用。

    上面的意思是: http 会跳转到 https,nginx 会转发到 app_proxy 对应的服务器上。
    alexmy
        13
    alexmy  
       2019-01-15 15:50:27 +08:00
    `回复这里支持 md 格式吗,我测试下`
    Leszeu
        14
    Leszeu  
       2019-01-15 15:58:29 +08:00 via iPhone
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3305 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 10:46 · PVG 18:46 · LAX 03:46 · JFK 06:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.