美文网首页收藏
如何配置域名访问和指定端口

如何配置域名访问和指定端口

作者: 秸秆混凝烧结工程师 | 来源:发表于2022-02-10 14:51 被阅读0次

    在nginx中配置server非80端口时,我们在访问时会在url中加入对应的端口号,如:http://xxx.xxx.xxx:8082/,但如果在nginx服务器前有另一台服务器作为用户首先访问的web服务器,这台服务器设置了端口转发,将80端口获得的请求转发到nginx中的对应端口中,如8082,这时用户使用的url是没有端口号,但nginx会自动增加端口号(80)到url上,很可能导致用户访问失败,可以将location 中增加proxy_set_header Host $host,即可解决此问题(工作中遇到,踩坑记录)

    首先我们修改 server_name IP 为 server_name www.exmple.com ,并配置代理,如下

    并在本地的 /etc/host 下配置 172.16.8.172 www.exmple.com

    在浏览器中访问发现只能跳转的 80 端口,而不能去到指定的端口

    image

    这问题就严重了,各种查找才发现原来是 location写的有问题 ,修改后的location 如下:

    server {

    listen 80;

    server_name www.exmple.com; # 这里填写你的域名

    location / {

    proxy_pass www.exmple.com:8082; # 这里指定要转发的端口

    }

    }

    这里需要将80端口的请求转发到 指定的8082 上 。这样就实现域名访问而不需要加端口,最后纪念一下成功

    地址栏 直接输入 域名即可

    最终完美解决解决了 域名访问的问题和默认端口转发到指定端口的问题

    完整版本的配置

    server {
    listen 80;
    server_name www.excise.com;
    location / {
    proxy_pass www.excise.com:8082;
    }
    }

    server {
    listen 8082;
    server_name www.excise.com;
    location / {
    root /data/****;
    index index.html index.htm;
    try_files uriuri/ /index.html;
    proxy_set_header Host host:8082; proxy_set_header X-Real-IPremote_addr;
    proxy_set_header REMOTE-HOST remote_addr; proxy_set_header X-Forwarded-Forproxy_add_x_forwarded_for;
    #proxy_pass www.excise.com:8082/login;
    }

    相关文章

      网友评论

        本文标题:如何配置域名访问和指定端口

        本文链接:https://www.haomeiwen.com/subject/quinkrtx.html