我找不到 NGinx 配置中的错误。我有一个网站在 上启动http://local_ip:8079
,需要通过 url 使其可供外部使用http://example.com/judge
。因此,页面在 url 上本地提供,http://local_ip:8079/home.html
以便通过 等访问http://example.com/judge/home.html
。我做了一个配置:
server
{
listen 80;
server_name example.com;
location /judge/
{
proxy_pass http://local_ip:8079/;
proxy_redirect / http://example.com/judge/;
proxy_set_header Host $proxy_host;
}
}
页面已加载,但脚本和图像出现在网页源中,且 URL 未更改(即/style.css
),浏览器未加载。我应该添加哪个指令?
答案1
proxy_redirect 只会重写重定向标头,而不会重写实现此功能所需的 HTML 内容。在 Nginx 中没有简单的方法可以重写 HTML 内容。
有 HttpSubModule,您可以手动添加文本替换,但设置每个替换需要很长时间:
http://wiki.nginx.org/HttpSubModule
最简单的方法是更新内容http://本地IP:8079/改为使用重定向路径。