Nginx 实现域名解析时,通过80端口访问多个端口(架设多个网站)!

阿里腾讯或其他云服务器,在解析域名时,域名指向地址通常绑定为IP4,而IP4是格式为 0.0.0.0,端口写在哪呢?我们平常会将端口改为80。我前两天就遇到这样一个问题,我们公司有项目Tomcat绑的是80端口(虽然绑了域名,但是还是用的IP),而且项目已经布置,公司为了保障稳定绝对不会让我修改它的端口。

但是官网又要上线,之前是万网服务器,纯的静态页面,这次前端用的是XAMPP(老东西)带的那一套,里面有个Apache,需要绑定域名,为了公司省钱(你懂得),我只能研究研究。

我又去阿里云确认了一下绑定带有端口的地址,如带路径和带端口的:222.333.444.555:8081/website 和 222.333.444.555:8081 果不其然,达美达。

然后想到Apache可以监听端口,但是那是端口的监听,应该不是通过访问80端口转到其他不同的端口或网站(不是绝对的,我没有研究那么深)。

然后又想到Nginx这个强大的代理,最后实现,废话不多说了,哈哈。

先说下实现的思路吧,我通过监听 / 全部跳到Tomcat,修改 nginx.conf

Nginx 实现域名解析时,通过80端口访问多个端口(架设多个网站)!_第1张图片

8081为Tomcat的端口,http://后面写的可以使IP或域名,然后根据前端页面共有的父级目录名,跳到前端网站(以下代码能复制)

location /website/ {
    proxy_pass http://website;
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    client_max_body_size 10m;
    client_body_buffer_size 128k;
    proxy_connect_timeout 300;
    proxy_send_timeout 300;
    proxy_read_timeout 300;
    proxy_buffer_size 128k;
    proxy_buffers 2 256k;
    proxy_busy_buffers_size 256k;
    proxy_temp_file_write_size 256k;

}

website为前端页面的父级目录名,proxy_pass 的 website 为

Nginx 实现域名解析时,通过80端口访问多个端口(架设多个网站)!_第2张图片

8011是Apache的端口也就是前端页面的,upstream website{} 这个名是proxy_pass 用的,前面一定要加 http://

完事了?木有,还差最后一步,现在在访问80端口,我们已经配置Nginx跳到Tomcat,因为在路径为 / 时我们跳到了Tomcat,而Tomcat有自己的默认页面,我们需要修改这个页面内容,或者修改tomcat的默认页面路径

Nginx 实现域名解析时,通过80端口访问多个端口(架设多个网站)!_第3张图片

这是我把tomcat的默认页面路径改成别的,我们需要当这个页面加载时就跳转,而跳转的路径,这是我们的域名加,我们刚刚在Nginx配置的 location /website/ {} 名字可以随意,如:http://www.abcd.com/website/ 这里跳转时就需要通过域名跳转了,到此结束。

这是我的nginx.conf主要的部分

Nginx 实现域名解析时,通过80端口访问多个端口(架设多个网站)!_第4张图片

你可能感兴趣的:(Nginx 实现域名解析时,通过80端口访问多个端口(架设多个网站)!)