NGINX访问多个站点相同的IP url

     2023-02-25     11

关键词:

【中文标题】NGINX访问多个站点相同的IP url【英文标题】:NGINX access multiple sites same IP url 【发布时间】:2019-12-29 18:49:05 【问题描述】:

我想知道如何在 Nginx 上拥有多个站点并能够使用相同的 IP 访问每个站点(没有域,因为我在本地实验室进行测试)。

我在单独的 PC 上拥有服务器,我使用 IP 从我的计算机远程访问它。两者都在同一个局域网上。

在目录 /var/www/ 我有两个站点“nextcloud”和“phpmyadmin”。我希望能够通过放置(例如)192.168.1.14/nextcloud 和 192.168.1.14/phpmyadmin 来输入两者。或者在 www 目录中有任何其他项目。

我尝试了所有找到的解决方案,但没有一个对我有用。例如,当我输入 phpmyadmin 时,它让我下载页面而不是输入它。

在 /etc/nginx/sites-enabled 我有两个文件,一个来自 nextcloud:


    server 
        listen 80 default_server;
        listen [::]:80 default_server;

        root /var/www/nextcloud/;

        index  index.php index.html index.htm;

        server_name  localhost;

        client_max_body_size 512M;
        fastcgi_buffers 64 4K;

        location / 
            root /var/www/nextcloud;
        rewrite ^ /index.php$request_uri;
        

        location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ 
            deny all;
        
        location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) 
            deny all;
        

        location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) 
            fastcgi_split_path_info ^(.+?\.php)(/.*)$;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
            fastcgi_intercept_errors on;
            fastcgi_request_buffering off;
        

        location ~ ^/(?:updater|ocs-provider)(?:$|/) 
            try_files $uri/ =404;
            index index.php;
        

        location ~ \.(?:css|js|woff|svg|gif)$ 
            try_files $uri /index.php$request_uri;
            add_header Cache-Control "public, max-age=15778463";
            access_log off;
        

        location ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ 
            try_files $uri /index.php$request_uri;
            # Optional: Don't log access to other assets
            access_log off;
        
    

还有 phpmyadmin 的:


    server 
        listen 80;
        listen [::]:80;

        root /var/www/phpmyadmin/;

        # Add index.php to the list if you are using PHP
        index index.php index.html index.htm index.nginx-debian.html;

        server_name localhost;

        location / 
            # First attempt to serve request as file, then
            # as directory, then fall back to displaying a 404.
            try_files $uri $uri/ =404;
        

        # pass PHP scripts to FastCGI server
        #
        location ~ \.php$ 
            include snippets/fastcgi-php.conf;
        #
        #   # With php-fpm (or other unix sockets):
            fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        #   # With php-cgi (or other tcp sockets):
        #   fastcgi_pass 127.0.0.1:9000;
        
    

尝试在 /var/www/ 中创建两个测试文件夹(test1 和 test2),每个文件夹里面都有一个 index.html 文件并修改 nginx 默认文件,但它对我也不起作用

    server 
        listen 80 default_server;
        listen [::]:80 default_server;

        server_name localhost;

        index index.html;

        location / 
            return 410;  # Default root of site won't exist.
        

        location /test1/ 
            alias /var/www/test1/;
            try_files $uri $uri/ =404;

            # any additional configuration for non-static content
        

        location /test2/ 
            alias /var/www/test2/;
            try_files $uri $uri/ =404;

            # any additional configuration for non-static content
        
    

正如我所说,我尝试了不同的解决方案。我遇到的另一个问题是它只将我重定向到 nextcloud,尽管我将 phpmyadmin 放在了 url 中。和上一个我已经提到的,当我进入时,下载index.php。谢谢。

对不起我的英语。

【问题讨论】:

【参考方案1】:

简单地将 nextcloud.my 和 phpmyadmin.my 添加到您的.hosts 文件并在 Nginx 中监听域名。 您提出的选项也可以工作,但它充满了错误,并且在转移到工作服务器期间可能会出现困难。

【讨论】:

Nginx 多个域相同的 IP 不起作用

...我遇到了Nginx无法处理指向同一IP地址的多个域的问题。访问任一域时,它们都默认为“catacombsfellowship.org.cnf”。访问edmunddesoto.com时,它的行为就像是catacombsfellowship.org,我收到S 查看详情

nginx+tomcat实现单个ip地址,多个二级域名+多个站点访问(代码片段)

1.部署多台tomcat 简单的在一台服务器上部署多台tomcat最简单不过了,只需要将tomcat压缩包解压到多个目录,然后更改/conf/server.xml配置文件中的三个端口: a.Serverport=”8[X]05″shutdown=”SHUTDOWN” b.Connectorport=... 查看详情

nginx+tomcat实现单个ip地址,多个二级域名+多个站点访问(代码片段)

1.部署多台tomcat 简单的在一台服务器上部署多台tomcat最简单不过了,只需要将tomcat压缩包解压到多个目录,然后更改/conf/server.xml配置文件中的三个端口: a.Serverport=”8[X]05″shutdown=”SHUTDOWN” b.Connectorport=... 查看详情

如何通过 nGinx 限制 IP 对站点的访问?

】如何通过nGinx限制IP对站点的访问?【英文标题】:HowtorestrictaccesstoasitebyIPthroughnGinx?【发布时间】:2021-12-1619:40:01【问题描述】:我有一个可以通过输入IPaddress访问的网站。我想让它只能通过domain访问。网上适合的素材很少,n... 查看详情

nginx位置正则表达式来处理/sub/目录中多个wordpress站点的永久链接(代码片段)

...WordPress站点(节点)的相当永久链接。可以使用这样的URL访问这些站点(我使用cluster和node来表示结构,但它们对于每种情况都不同,但它们始终遵循相同的结构,节点是包含WordPress根文件的目录):https://www.domain.tld/cluster1/node1... 查看详情

nginx_include发布多个web站点

...器才能在一个VPS上放置多个网站/博客呢?如何通过一个IP访问多个站点/域名呢?这就是大多数web服务器支持的virtualhosting功能。这里将描述如何一步一步如何用nginx配置v 查看详情

无法通过域 URL 访问 Nginx 站点

】无法通过域URL访问Nginx站点【英文标题】:NginxsitecannotbeaccessedthroughdomainURL【发布时间】:2019-04-0704:35:15【问题描述】:问题:我已经在我的家庭网络上建立了一个(Docker)Django-Gunicorn-Nginx站点。它可以在本地网络上运行,但... 查看详情

配置nginx虚拟主机

...主配置文件检查配置文件是否出错启动nginx服务Win10配置ip访问100.10默认站点访问100.20的benet站点访问100.30的accp站点修改主配置文件检查主配置文件重启nginx服务访问默认站点访问8080端口的benet站点访问8181的accp站点网站服务器配... 查看详情

nginx一个ip上多站点80433httphttps共存设置

同一服务器ip如果多个独立域名既要80http访问,又要443https访问。要让https和http并存,不能在配置文件中使用sslon,配置listen443ssl;实例serverlisten168.104.102.52:80; listen168.104.102.52:443ssl;server_namewww.iamle.com;indexindex.htmlindex.htminde 查看详情

nginx - 多个 django 应用程序相同的域不同的 URL

】nginx-多个django应用程序相同的域不同的URL【英文标题】:nginx-multipledjangoappssamedomaindifferentUrls【发布时间】:2019-05-0908:20:12【问题描述】:我想在一个域上为多个django项目(实际上是djangorestAPI应用程序)提供服务,但在单独的... 查看详情

nginx本地怎么配置多项目的访问

...如下:把2个站点fengzhongjincao.com,meiweirenqi.com放到nginx可以访问的目录/www/给每个站点分别创建一个nginx配置文件fengzhongjincao.com.conf,meiweirenqi.com.conf,并把配置文件放到/etc/nginx/vhosts/然后在/etc/nginx.conf里面加一句include把步骤2创建的... 查看详情

负载均衡基本介绍

...-server对于一个域名配置了多个解析ip,每次DNS解析请求来访问DNS-server,会轮询返回这些ip,保证每个ip的解析概率是相同的。这些ip就是nginx的外网ip,以做到每台nginx的请求分配也是均衡的。【反向代理层】到【站点层】的负载... 查看详情

如何使用 docker 和 nginx 在同一台服务器上运行多个站点?

】如何使用docker和nginx在同一台服务器上运行多个站点?【英文标题】:HowdoIrunmultiplesitesonthesameserverusingdockerandnginx?【发布时间】:2021-11-0915:54:44【问题描述】:我试图在同一台服务器上以不同的ip在django上运行两个站点,出现... 查看详情

在 IIS 中从一个 IP 运行多个站点

...用程序。我试图从一个IP运行多个站点,但我无法从外部访问这些站点。我只能从外部访问默认网站,但是当我想访问第二个网站时它不起作用。第二个应该在http://ip:81上运行, 查看详情

从iis中的一个ip运行多个站点(代码片段)

...用程序。我试图从一个IP运行多个站点,但我无法从外部访问这些站点。我只能从外部访问默认网站,但是当我想访问第二个时,它不起作用。第二个应该在http://ip:81上运行,默认值是80.它们都在本地运行正常,我在防火墙上添... 查看详情

无法通过公共 ip 访问 EC2 实例上的站点

】无法通过公共ip访问EC2实例上的站点【英文标题】:Can\'taccesssiteonEC2instanceviapublicip【发布时间】:2012-05-0211:12:56【问题描述】:我已经用EC2进行了几天的试验,并且一直在努力争取能够访问我托管的示例站点。堆栈是带有Thin... 查看详情

nginx怎么配置多个web

...的web服务站点,nginx是定时检测其可用性的。你说的需要访问多次就能访问到,那只是一个假象。其实是刚好nginx完成了管辖下的站点的检查,将刚重启的tomcat加入到了可用列表中;在你的请求到达时,被转发到了这个tomcat。 查看详情

Nginx:为多个 Laravel 应用程序提供相同的 url,但在 Linux 中有两个不同的子位置

】Nginx:为多个Laravel应用程序提供相同的url,但在Linux中有两个不同的子位置【英文标题】:Nginx:ServemultipleLaravelappswithsameurlbuttwodifferentsublocationsinLinux【发布时间】:2019-03-2920:18:07【问题描述】:我想在单个nginx服务器中服务多... 查看详情