windows上的域名代理与nginx

  1. 遇到的问题是开发时需要做测试,但qq登录回调的链接是项目的线上地址,为了跳转到测试的地址,使用nginx做反向代理

  2. 首先是在C:\Windows\System32\drivers\etc hosts文件添加域名解析

    1. 如 121.40.69.20 game.51app.cn
    2. 121.40.69.20:9621为项目的测试地址
    3. 如不能直接修改,可以将文件复制出来修改后再覆盖回去
    4. 通过输入game.51app.cn:9621 发现能显示项目则这一步设置成功
  3. 下一步就是希望通过nginx来将域名后面的端口去掉,能直接访问到项目

  4. 下载nginx http://nginx.org/en/download.html 下个稳定版本的 Stable version windows版本

    1. 解压后,nginx.exe可以直接运行,但是不建议。
    2. 打开/conf/nainx.conf文件,删除server{ …… },或者注销掉
    3. 重新添加server{ }
    server {
      listen 80;  //监听的端口号
      server_name game.51app.cn;  //访问域名
      location / {
          proxy_pass   http://121.40.69.20:9621;//为项目的实际访问地址
          index  index.html index.htm;
     }
    }
    
    1. 打开cmd.exe运行命令,一定要在nginx.exe文件所在的文件夹下操作。
    2. 启动 start nginx ,停止 nginx -s stop, 重启(因为改变了配置,需要重启) nginx -s reload
    3. 打开任务管理器在进程中看不到nginx.exe的进程(双击nginx.exe时会显示在这里),需要打开详细信息里面能看到隐藏的nginx.exe进程
  5. 遇到的问题,nginx设置完成后没有效果,始终跑到一个nginx的欢迎页面,最后请教了同事后 将 hosts的改为127.0.0.1 game.51app.cn 本机的nginx配置就有效果了;之前一直显示的是那台服务器的nginx,以为是本机的nginx;

  6. 参考 nginx配置反向代理详细教程(windows版)

  7. 补充 什么是反向代理,什么是正向代理?

    windows上的域名代理与nginx_第1张图片
    正向代理与反向代理

  8. 补充 HTTP常见的错误返回代码处理过程

301 临时性跳转
302 永久性跳转
关于nginx 301 302跳转设置
301跳转设置:
server {
    listen 80;
    server_name 123.com;
    rewrite ^/(.*) http://456.com/$1 permanent;
    access_log off;
}
302跳转设置:
server {
    listen 80;
    server_name 123.com;
    rewrite ^/(.*) http://456.com/$1 redirect;
    access_log off;
}  

你可能感兴趣的:(windows上的域名代理与nginx)