
我有一个 node 站点,纯静态服务,是一些文档内容,解析 md 生成html: http://aaa.com:8888
另外还有一个站点:http://bbb.com
现在想把第一个站点链接通过http://bbb.com/doc形式访问,但是遇到一些问题,下面是我的 nginx 配置:
# bbb 机器 server { listen 80; gzip on; location / { root /home/work/wwwserver; } location /doc/ { proxy_pass http://aaa.com:8888; } } 主要问题如下:
网上搜了一些资料也没有解决,希望大家指点一下
1 mikeguan 2019-09-23 09:50:15 +08:00 via Android md 生成 html 的时候需要指定域名二级目录 |
2 rootww21 2019-09-23 10:11:34 +08:00 |
3 ytlm 2019-09-23 10:15:02 +08:00 尝试将请求格式改成 bbb.com/doc/ |
4 ytlm 2019-09-23 10:16:20 +08:00 @ytlm #3 或者将 location /doc/ 改成 location /doc 请求格式不变,不行的话就把日志打开看看日志有没有什么异常的 |
5 q414625852 OP /div> @ytlm 如果改成 /doc,则会出现下面情况: 1、访问 bbb.com/doc,静态资源全部 404,日志的话就是静态资源访问不到 bbb.com/js/bundle.js (这个资源是相对路径./js/bundle.js ) 2、访问 bbb.com/doc/,静态资源 200,但返回的是当前的 html,没有错误日志 |
6 seers 2019-09-23 10:50:36 +08:00 /doc/ -> /doc |
7 seers 2019-09-23 10:52:58 +08:00 加一个 proxy_redirect off 试试 |
8 q414625852 OP @seers 这样也不行,访问 bbb.com/doc/readme.md 的话,会出现 301 Moved Permanently |
9 seers 2019-09-23 10:55:54 +08:00 你加了 server_name 吗,在 server block 里面 |
10 q414625852 OP 或者简化为,有一个站点是 aaa.com:888,如果通过 bbb.com/doc 完全代理该站点,假设 aaa.com:8888 里的静态资源都是相对路径,使得访问 bbb.com/doc/dev/run.md 可以看到 aaa.com:888/dev/run.md 的内容 |
11 q414625852 OP @seers 问下这个 server_name 怎么写。。 |
12 txydhr 2019-09-23 11:15:11 +08:00 via iPad 头像 |
13 play78 2019-09-23 11:15:28 +08:00 这两个换一下顺序 /doc/ 放到上面 |
14 seers 2019-09-23 11:23:48 +08:00 |
15 silenceeeee 2019-09-23 11:26:21 +08:00 # bbb 机器 ``` server { listen 80; gzip on; root /home/work/wwwserver; } location /doc/ { proxy_pass http://aaa.com:8888; } } ``` |
16 silenceeeee 2019-09-23 11:32:25 +08:00 @silenceeeee 算了,无视我吧.前面这一条回复触发了回复按钮快捷键,我修正了回复时,提示我包含外链,回复不了了: ```请不要在每一个回复中都包括外链,这看起来像是在 spamming``` |
17 lxlnbdywsxs 2019-09-23 11:40:29 +08:00 没太看明白,一个 Nginx 两个站点? |
18 jerrodpoole 2019-09-23 12:46:51 +08:00 # bbb 机器 server { listen 80; gzip on; location / { root /home/work/wwwserver; } location /doc/ { proxy_pass http://aaa.com:8888/; } } 8888 后面加上 / (URI) |
19 sazima 2019-09-23 14:04:54 +08:00 #18 正解 |