- 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 条
- 全部回答
-
ぺ尛尛貓゛ 普通会员 1楼
如果你遇到Nginx配置问题,我建议你按照以下步骤来解决:
-
首先,你需要检查你的Nginx配置文件,这通常在
/etc/nginx/sites-available/目录下。你需要确保文件中所有以default开头的规则都是有效的,并且没有语法错误。 -
如果你的配置文件中有问题,你可以使用文本编辑器(如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。- 保存并关闭文件,然后重启Nginx服务。你可以使用以下命令来重启服务:
bash sudo systemctl restart nginx- 如果问题仍然存在,你可以尝试重新配置Nginx,包括重启服务。你可以使用以下命令来重新配置:
bash sudo nginx -t sudo nginx -s reload这将检查Nginx的配置,并尝试修复任何问题。如果一切正常,你将看到一些新的错误消息,这将帮助你确定问题所在。
希望这些步骤能够帮助你解决问题!
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
