账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    nginx配置问题
    22
    0

    由于生产环境限制,只能对外开放一个端口9988,其他人写的项目也要用这个端口,所以只能用不同的请求路径来区分不同的项目。

    我的项目是前后分离的。页面打包的内容放到服务器目录是:/usr/local/m2m/nbMsg/browser/dist,java后台的端口是:8989,且后台接口统一前缀/api/v1。

    我想配置成访问http://[host]:9988/nbmsg,能够默认返回/usr/local/m2m/nbMsg/browser/dist目录下的html静态页面文件,然后页面上的ajax请求都是/api/v1开头的,需要代理到8989端口。

    下面是我的配置。一个server是原来已有的9988端口的虚拟主机,另一个8999端口的虚拟主机是我加上去的。我应该如何修改配置?让http://[host]:9988/nbmsg的请求都转发到8999端口的虚拟主机上?

    server {
        listen 9988;
        root /server/html;
    
        # Add index.php to the list if you are using PHP
        index index.html index.htm index.php index.nginx-debian.html;
    
        location / {
            index index.html index.htm index.php;
        #    try_files $uri $uri/ =404;
        }
    
        location /business/ {
            #    root /server/html;
            try_files $uri $uri/ /business/public/index.php?$query_string;
        }
    
    ####################################################################
    # request entrance
    ####################################################################
            location /nbmsg {
                    proxy_pass http://127.0.0.1:8999;
                    proxy_set_header Host $http_host;
                    proxy_set_header X-Real_IP $remote_addr;
            }
    
            error_page 404 /404.html;
            error_page 500 502 503 504 /50x.html;
    
            location = /50x.html {
                    root /server/html;
            }
    
            location ~ \.php$ {
                    try_files $uri =404;
                    fastcgi_pass 127.0.0.1:9000;
                    fastcgi_index index.php;
                    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                    include fastcgi_params;
            add_header Access-Control-Allow-Origin *;
              add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept";
              add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
        }
    }
    
    ####################################################################
    # my virtural host 
    ####################################################################
    server{
        listen 8999;     
        index index.html; 
        location / {
            alias /usr/local/m2m/nbMsg/browser/dist;
        }                                      
        location /api/v1 {            
            proxy_pass http://127.0.0.1:8989;
            proxy_pass_header Server;
            proxy_connect_timeout 600;
            proxy_send_timeout 600;
            proxy_read_timeout 600;                
            proxy_set_header Host $http_host;
            proxy_set_header X-Real_IP $remote_addr;                
            client_max_body_size 300m;
            client_body_buffer_size 256k;
            proxy_buffer_size 128k;
            proxy_buffers 8 32k;
            proxy_busy_buffers_size 128k;
            proxy_temp_file_write_size 128k;
        }
    }
    
    
    0
    打赏
    收藏
    点击回答
        全部回答
    • 共 0 条
    • ぺ尛尛貓゛ 普通会员 1楼

      如果你遇到Nginx配置问题,我建议你按照以下步骤来解决:

      1. 首先,你需要检查你的Nginx配置文件,这通常在/etc/nginx/sites-available/目录下。你需要确保文件中所有以default开头的规则都是有效的,并且没有语法错误。

      2. 如果你的配置文件中有问题,你可以使用文本编辑器(如vi或nano)打开文件,然后逐行修改。例如,如果你想要开启一个特定的HTTP服务器,你可以添加以下规则:

      nginx server { listen 80; server_name example.com; location / { proxy_pass http://localhost:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }

      在这个例子中,我们指定了一个80端口,监听在这个端口上的请求将被代理到http://localhost:3000。我们还设置了请求头部的Host、X-Real-IP、X-Forwarded-For和Proxy-Add-X-Forwarded-For。

      1. 保存并关闭文件,然后重启Nginx服务。你可以使用以下命令来重启服务:

      bash sudo systemctl restart nginx

      1. 如果问题仍然存在,你可以尝试重新配置Nginx,包括重启服务。你可以使用以下命令来重新配置:

      bash sudo nginx -t sudo nginx -s reload

      这将检查Nginx的配置,并尝试修复任何问题。如果一切正常,你将看到一些新的错误消息,这将帮助你确定问题所在。

      希望这些步骤能够帮助你解决问题!

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部