nginx 80端口反向代理多个域名,怎样隐藏端口的?

我用docker部署两个项目,前面用nginx进行80端口代理转发。

[root@ip-172-31-9-233 conf.d]# docker ps -a
CONTAINER ID        IMAGE                                      COMMAND                  CREATED             STATUS              PORTS                    NAMES
83b7d2ff1541        wordpress:4.5                              "/entrypoint.sh apach"   17 hours ago        Up 4 seconds        0.0.0.0:8081->80/tcp     worldpress
6810f3412fde        mysql:5.6                                  "docker-entrypoint.sh"   17 hours ago        Up 17 hours         3306/tcp                 mysql_wp
f0e77b44e9b7        fanne/flask_blog_mogodb_migrate:20160722   "/bin/bash"              13 days ago         Up 13 days          0.0.0.0:9003->9003/tcp   flask_blog_mongodb

nginx配置信息
主配置文件

[root@ip-172-31-9-233 nginx]# cat nginx.conf
# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    server {
        #listen       80 default_server;
        #listen       [::]:80 default_server;
        #server_name  _;
        #root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
}

include的项目配置文件

[root@ip-172-31-9-233 nginx]# cat conf.d/flask_blog_mongodb.conf 
server {
        listen   80;               
        server_name www.suohi.cc;   
        location / {
                proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_redirect off;
                if (!-f $request_filename) {
                        proxy_pass http://127.0.0.1:9003;  
                        break;
                }
        }
}
[root@ip-172-31-9-233 nginx]# cat conf.d/myopsdev.conf 
server {
        listen   80;               
        server_name www.myopsdev.cc;   
        location / {
                proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
                proxy_redirect off;
                if (!-f $request_filename) {
                        proxy_pass http://127.0.0.1:8081;  
                        break;
                }
        }
}

当我访问第一个域名的时候就正常,不会出现端口内容

clipboard.png
但访问第二个域名的时候就会出现端口:

clipboard.png
会自己跳转出端口信息。

这是为咋啊的。

阅读 8.7k
2 个回答

把你浏览器的历史记录清除掉,反正我的chrome会这样。

默认都是8080端口的所以可以隐藏,其他的端口貌似都得加上吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏