我想在我的 VPS 上为我的 Heroku 应用程序(http://lovemaple.heroku.com)设置一个反向代理所以如果我访问mysite.com/blog我可以在http://lovemaple.heroku.com 中获取内容
我按照Apache wiki上的说明进行操作。
location /couchdb {
rewrite /couchdb/(.*) /$1 break;
proxy_pass http://localhost:5984;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Run Code Online (Sandbox Code Playgroud)
我改变了它以适应我的情况:
location /blog {
rewrite /blog/(.*) /$1 break;
proxy_pass http://lovemaple.heroku.com;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Run Code Online (Sandbox Code Playgroud)
当我访问时mysite.com/blog,页面显示出来,但无法获取 js/css 文件(404)。
他们的链接变为mysite.com/style.css但不是mysite.com/blog/style.css。
出了什么问题,我该如何解决?
location /product {
proxy_pass http://10.0.0.25:8080;
}
Run Code Online (Sandbox Code Playgroud)
如果我对产品文件夹使用我的第一个位置描述,我应该使用http://mysdomain.com/product/并且我不能http://mysdomain.com/product从浏览器使用 。我的意思是我应该使用 url 的斜线结尾。我想用两个状态访问产品文件夹。
这有什么区别吗:
location /product/ {
proxy_pass http://10.0.0.25:8080;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试设置一个别名,以便当有人访问时/phpmyadmin/,nginx 将从而/home/phpmyadmin/不是从通常的文档根目录中提取它。但是,每次我提取 URL 时,它都会在所有未通过 fastcgi 提取的项目上给我一个 404。fastcgi 似乎工作正常,而其余的则不然。strace告诉我它试图从通常的文档根目录中提取其他所有内容,但我不知道为什么。任何人都可以提供一些见解吗?
这是我的配置的相关部分:
location ~ ^/phpmyadmin/(.+\.php)$
{
include fcgi.conf;
fastcgi_index index.php;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_param SCRIPT_FILENAME /home$fastcgi_script_name;
}
location /phpmyadmin
{
alias /home/phpmyadmin/;
}
Run Code Online (Sandbox Code Playgroud)