【发布时间】:2013-03-05 13:07:05
【问题描述】:
我正在尝试建立一个简单的静态网站,但我遇到了一个 nginx 问题,该问题因许多事情而变得复杂,最值得注意的是我的 ISP 阻止了所有入站端口 80 流量。
首先,我设置了一个网络转发,以便 www.mysite.com 将重定向到 mysite.com:8000,然后我设置我的路由器将端口 8000 转发到我运行 nginx 的服务器。这绕过了我的 ISP 在端口 80 上的阻塞。我现在尝试让服务器上的 nginx 将端口 8000 上的请求代理到端口 80 上的虚拟主机,以便该站点在加载后显示为 mysite.com比 mysite.com:8000。
我一直在尝试使用 nginx 的 proxy_pass 指令来做到这一点,但无论我做什么,网站总是显示为 mysite.com:8000。
这是我目前所拥有的:
server {
listen [::]:8000
server_name mysite.com;
location / {
proxy_pass http://127.0.0.1:80;
proxy_redirect default;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto http;
}
}
server {
listen 127.0.0.1:80;
server_name mysite.com;
root /var/www/homepage;
index index.html;
.
. (non-relevant stuff)
.
}
链接到实际站点:http://www.bjacobel.com
我也尝试通过将路由器上的端口 8000 转发到端口 80,并让 nginx 在端口 80 上侦听来做到这一点,但仍然显示带有 :8000 的 url。
感谢您的帮助!
【问题讨论】:
标签: proxy nginx port portforwarding