配置nginx反向代理解析不同域名转发到不同端口

/ 服务器部署 / 1 条评论 / 890浏览

前言(背景): 笔者最近在搭建自己的网站主页和博客,所以买了一个域名,并且只有一台云服务器。但是,笔者的网站主页和博客网站是不同的网站,并且部署到同一台服务器上。
笔者想实现的效果如下:我的域名是 zksky.top
通过网址www.zksky.top访问到网站主页,通过网址blog.zksky.top访问到我的博客网站。
但是80端口只有一个,所以将网站主页部署到80端口,将博客网站部署到8081端口。通过访问 www.zksky.top:8081 可以访问到博客网站,但是后带端口并不是我想实现的效果。通过域名提供商提供的显性URL转发,存在同样问题。隐性URL转发可以实现此效果,但需要额外付费,且影响网站的SEO。 所以,通过Nginx反向代理转发端口请求,是我所想到的最好的办法(灵机一动 感)。

准备工作

1、备案
若服务器和域名,不在一家提供商,则在服务器提供商处进行备案(一个月左右)。

2、域名解析
同时将网址www.zksky.top和blog.zksky.top解析到服务器的80端口。

nginx配置

网站主页的配置:

#我的主页
	server {
		listen 80;
		charset     utf-8;
		server_name  www.zksky.top;
		root /var/www/html;
		index index.html index.htm;

        location / {
		try_files $uri $uri/ =404;
		}
	}

博客网站配置

	#我的博客网站,nginx反向代理
	server {
        	listen       80;
		    charset     utf-8;
        	server_name  blog.zksky.top;

        	location / {
			proxy_pass    http://www.zksky.top:8081/;
        		proxy_set_header Host $host;  
        		proxy_set_header X-Real-IP $remote_addr;   
        		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                #nginx跟后端服务器连接超时时间(代理连接超时)
        		proxy_connect_timeout      300; 
                 #后端服务器数据回传时间(代理发送超时)
        		proxy_send_timeout         300;
                #连接成功后,后端服务器响应时间(代理接收超时)
        		proxy_read_timeout         300; 
		}
    }

完成!

后记

我的个人网站网址为:https://www.zksky.top/
博客网站为:https://blog.zksky.top/
有兴趣的朋友,欢迎访问!

  1. 点个赞❤

    回复