我有一个域名 example.com。当输入时,example.com
我想将请求代理到127.0.0.1:8080/source
我的 nginx 配置
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:8080;
}
这适用于 127.0.0.1:8080,但我无法让它代理到 /source 子目录。当我更改为
proxy_pass http://127.0.0.1:8080/source/;
它不能正常工作。
它重定向到 http://127.0.0.1:8080/源/不错,但是js和css文件路径是/source/js/ *.js
和 /source/css/ *.css
,其他资源文件是/source/*
。例如,当浏览器加载html时,它会尝试查找/source/js/ *.js
,由于我重定向到http://127.0.0.1:8080/source/
,最终路径是http://127.0.0.1:8080/source/source/js/ *.js
,但正确的路径是http://127.0.0.1:8080/source/js/ *.js
我只是想要当我进入示例.com,它将重定向到http://127.0.0.1:8080/源/,或者重定向到 example.com/source
也可以。
答案1
答案2
server {
listen 80;
server_name hello.example.me;
access_log /var/log/nginx/tomcat-access.log;
error_log /var/log/nginx/tomcat-error.log;
location = / {
rewrite ^ /HELLO/ last;
}
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080/;
}
}
效果很好。请随意添加更多路径。