如何使用 NGINX 和私有 IP 以及内部 IP

如何使用 NGINX 和私有 IP 以及内部 IP

我有 2 个 IP,一个是私有 IP,一个是公共 IP。我希望公共 IP 提供静态页面

server {

    listen private.ip:443 ssl;
    include snippets/self-signed.conf;
    include snippets/ssl-params.conf;



        root /var/www/html;

        index index.html index.htm index.nginx-debian.html;

        server_name private.ip.207;
        rewrite ^/$ https://private.ip/web?db=prod  redirect;

location / {
        proxy_pass http://private,ip;
        }


}

server {
    listen private:80;

    server_name private.ip;
        return 301 https://private.ip$request_uri;
}
server {
    listen public.ip:80;

    server_name public.ip;


         root /var/www/html;

        index index.html index.htm index.nginx-debian.html;


location / {
        proxy_pass http://public.ip:80;
        }

如果使用公共 IP,如何提供不同的静态页面?

答案1

如果你的服务器位于 NAT 后面,并且有端口转发,那么你必须使用Host的标头匹配机制server_name。唯一的方法是使用完全独立的配置,server_name pub.lic.ip.addr;如下所示进行匹配:

server {
    listen private:{port};

    server_name pub.lic.ip.addr;

    # ... configure this site.
}

...但是,这仅在请求公共 IP 地址本身时才有效,并且需要特定的端口转发设置可能破坏这一点。

相关内容