使用Cloudflare和Nginx的子域代理通过

问题描述

我有一个由Cloudflare的免费工具管理的域。我有一个要添加的名为“ test”的子域,但我希望它指向运行在服务器上端口8183上的第二个网络服务器。在Cloudflare DNS门户中,我有一个指向“ test.example.com”的A记录,该指向到我的Web服务器的IP地址,该地址也被用来隐藏我的Web服务器的实际IP地址。所有流量均通过HTTPS路由,该证书也由Cloudflare提供。

我的nginx default.conf:

# Redirect all traffic to HTTPS/443/SSL
server {
    server_name example.com *.example.com;

    listen 80;

    return 301 https://$host$request_uri;
}

# example.com
server {
    server_name example.com;

    listen 443 ssl;

    index index.php index.html;

    ssl_certificate /etc/ssl/origincert.pem;
    ssl_certificate_key /etc/ssl/privkey.key;

    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /website;

    location ~ \.php$ {
        autoindex on;
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

# test.example.com -> proxy pass to 8183
server {
    server_name test.example.com;

    listen 443 ssl;

    ssl_certificate /etc/ssl/origincert.pem;
    ssl_certificate_key /etc/ssl/privkey.key;

    location / {
        proxy_pass http://MY_SERVER_IP_ADDRESS:8183;
    }
}

但是,当我导航到https://test.example.comhttp时,我只是被重新路由到https://example.com。我的服务器上安装了原始服务器证书,并且已经安装并使用了example.com,*.example.com,and test.example.com

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)