如果您希望共享相同的FQDN来服务多个站点或服务API,那么这将对您有所帮助。如果您的环境中有两个站点托管在不同的服务器上,例如sales和accounting,则您的客户将需要在浏览器中执行以下操作才能访问不同的站点。 To Access Sales site: https://api.computingforgeeks.com/sales To Access Accounts site: https://api.computingforgeeks.com/accounts 如您所见,我们使用相同的FQDN服务以/sales和/accounting区分的不同站点,如果您的环境中有一个公用IP和防火墙规则,它将为您节省更多。 我们希望您已经安装并正在运行Nginx。 1、在Ubuntu/Debian上安装Nginx $ sudo apt -y install nginx $ sudo systemctl enable --now nginx 2、在CentOS/Fedora上安装Nginx $ sudo yum -y install nginx $ sudo systemctl enable --now nginx 3、在Arch Linux/Manjaro上安装Nginx $ sudo pacman -S nginx $ sudo systemctl enable --now nginx
一、修改主要的Nginx配置文件 打开Nginx默认配置文件,并在http部分内添加以下行,确保它在http大括号内: http { .... ...... include /etc/nginx/sites.d/*.conf; } 这会将配置文件添加到/etc/nginx/sites.d/中,以便nginx读取并对其执行操作。
二、创建主站点配置文件 现在让我们在/etc/nginx/sites.d中添加主站点FQDN配置文件: $ sudo vim api.computingforgeeks.com server { listen 80; server_name api.computingforgeeks.com; return 301 https://api.computingforgeeks.com$request_uri; } server { listen 443 ssl http2; server_name api.computingforgeeks.com; modsecurity_transaction_id "api.computingforgeeks.com-$request_id"; access_log /var/log/nginx/test-api-access.log; error_log /var/log/nginx/test-api-error.log; include /etc/nginx/default.d/api.computingforgeeks.com/*.conf; } 特定站点位于/etc/nginx/default.d/api.computingforgeeks.com/中,您会注意到,这些站点已包含在我们的配置文件中。
三、创建站点路由配置 现在,按照上述配置中的/etc/nginx/default.d/api.computingforgeeks.com/目录创建站点,在此设置中,我们将创建一个用于sales的产品: cd /etc/nginx/default.d/api.computingforgeeks.com 此配置会将流量重定向到侦听端口8443的托管sales站点的服务器1(192.168.55.60): $ sudo vim sales.conf location /sales/ { proxy_http_version 1.1; proxy_pass https://192.168.55.60:8443/sales/; proxy_cache_bypass $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Upgrade $http_upgrade; } 此配置会将流量重定向到侦听端口8080的托管sales站点的服务器1(192.168.55.63) $ sudo vim accounts.conf location /accounts/ { proxy_http_version 1.1; proxy_pass https://192.168.55.63:8080/accounts/; proxy_cache_bypass $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Upgrade $http_upgrade; } 这就是您需要配置nginx来使用相同的FQDN代理站点或API的全部操作。
相关主题 |