brookshi / Hitchhiker

a Restful Api test tool
http://www.hitchhiker-api.com
Other
2.19k stars 402 forks source link

nginx 配置问题 #175

Closed vmvz closed 6 years ago

vmvz commented 6 years ago

目标:

使用nginx反代,开启压缩

环境:

docker部署

疑问:

目前 www.a.com:6666 可以正常访问和使用, 我应该如何配置nginx和 Hitchhiker才能实现 www.a.com 访问呢。

准备修改的方案:

已经尝试,目前是失败的,所以请大家帮忙指正,谢谢

  1. nginx 参考 #49 nginx就是一个反代作用+GZIP
    server {
        listen 80;
        server_name 127.0.0.1;
        location / {
                proxy_pass  http://127.0.0.1:6666;
                proxy_redirect     off;
                proxy_set_header   Host             $host;
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
        proxy_http_version 1.1;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
    }
  2. docker-compose.yml
    environment:
      - HITCHHIKER_DB_HOST=hitchhiker-mysql
      - HITCHHIKER_APP_HOST=http://www.a.com/ 
      - HITCHHIKER_APP_PORT=6666
    ports:
      - "6666:6666"
      - "11010:11010"

    参考资料

    参考1:文档

    environment:
      - HITCHHIKER_DB_HOST=hitchhiker-mysql
      - HITCHHIKER_APP_HOST=http://www.a.com:6666/ # 修改为本机ip及端口
    ports:
      - "6666:6666"
      - "11010:11010"

使用nginx和域名 因为使用域名的话基本上是用80端口,如果主机还是使用8080端口是没有问题,因为默认用的是这个端口。但如果用其他端口或要使用压力测试就需要使用另外一个环境变量来设置端口:HITCHHIKER_APP_PORT。 要注意的是hitchhiker和nginx对主机的端口不能冲突。

参考2 #49

brookshi commented 6 years ago

配置不对呀,nginx配置你看是把80的流量导到8080端口(这块也有点奇怪,直接写127.0.0.1就可以了,不然你还得开外网端口),但docker-compose配置的是监听6666端口

vmvz commented 6 years ago

@brookshi nginx我写错了, nginx改成6666 也不行, 看到访问 :6666/api/**

brookshi commented 6 years ago

这说明host也加了6666端口,HITCHHIKER_APP_HOST这个是给到浏览器用的,所以不用加端口

vmvz commented 6 years ago

gzip一开, 5M 变 300KB

认真配资没有任何问题了, 注意 HITCHHIKER_APP_PORT

shJ1986 commented 5 years ago

@vmvz 这问题最后怎么解决的? 我和你一样, 首页用域名打开没问题,但是登录或者注册的接口访问都是http://ip:port/login 什么的

vmvz commented 5 years ago

@shJ1986 我没解决, 反代总是有问题,所以直接 加端口了