nginx 求助,这个反向代码如何写

2019 年 9 月 23 日
 q414625852

我有一个 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;
    }
}

主要问题如下:

网上搜了一些资料也没有解决,希望大家指点一下

4676 次点击
所在节点    NGINX
19 条回复
mikeguan
2019 年 9 月 23 日
md 生成 html 的时候需要指定域名二级目录
rootww21
2019 年 9 月 23 日
需要将 http://aaa.com:8888 站点修改为 http://aaa.com:8888/doc 这样的访问方式
也就是需要一个前缀
nginx 配置不动
ytlm
2019 年 9 月 23 日
尝试将请求格式改成 bbb.com/doc/
ytlm
2019 年 9 月 23 日
@ytlm #3 或者将 location /doc/ 改成 location /doc 请求格式不变,不行的话就把日志打开看看日志有没有什么异常的
q414625852
2019 年 9 月 23 日
@ytlm 如果改成 /doc,则会出现下面情况:

1、访问 bbb.com/doc,静态资源全部 404,日志的话就是静态资源访问不到 bbb.com/js/bundle.js (这个资源是相对路径./js/bundle.js )
2、访问 bbb.com/doc/,静态资源 200,但返回的是当前的 html,没有错误日志
seers
2019 年 9 月 23 日
/doc/ -> /doc
seers
2019 年 9 月 23 日
加一个 proxy_redirect off 试试
q414625852
2019 年 9 月 23 日
@seers 这样也不行,访问 bbb.com/doc/readme.md 的话,会出现 301 Moved Permanently
seers
2019 年 9 月 23 日
你加了 server_name 吗,在 server block 里面
q414625852
2019 年 9 月 23 日
或者简化为,有一个站点是 aaa.com:888,如果通过 bbb.com/doc 完全代理该站点,假设 aaa.com:8888 里的静态资源都是相对路径,使得访问 bbb.com/doc/dev/run.md 可以看到 aaa.com:888/dev/run.md 的内容
q414625852
2019 年 9 月 23 日
@seers 问下这个 server_name 怎么写。。
txydhr
2019 年 9 月 23 日
头像
play78
2019 年 9 月 23 日
这两个换一下顺序 /doc/ 放到上面
seers
2019 年 9 月 23 日
server {
listen 80;

server_name bbb.com;

...


location /doc {
proxy_pass http://aaa.com:8888;
}
}
silenceeeee
2019 年 9 月 23 日
# bbb 机器
```
server {
listen 80;
gzip on;
root /home/work/wwwserver;
}
location /doc/ {
proxy_pass http://aaa.com:8888;
}
}
```
silenceeeee
2019 年 9 月 23 日
@silenceeeee 算了,无视我吧.前面这一条回复触发了回复按钮快捷键,我修正了回复时,提示我包含外链,回复不了了:
```请不要在每一个回复中都包括外链,这看起来像是在 spamming```
lxlnbdywsxs
2019 年 9 月 23 日
没太看明白,一个 Nginx 两个站点?
jerrodpoole
2019 年 9 月 23 日
# bbb 机器
server {
listen 80;
gzip on;
location / {
root /home/work/wwwserver;
}
location /doc/ {
proxy_pass http://aaa.com:8888/;
}
}

8888 后面加上 / (URI)
sazima
2019 年 9 月 23 日
#18 正解

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/603210

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX