bja*_*bel 6 port proxy nginx portforwarding
我正在尝试建立一个简单的静态网站,我有一个nginx的问题,这个问题很复杂,最明显的是我的ISP阻止了所有入站端口80的流量.
首先,我设置了一个Web前端,以便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)
.
}
Run Code Online (Sandbox Code Playgroud)
链接到实际网站:http://www.bjacobel.com
我也尝试通过将路由器上的端口8000转发到端口80,并让nginx在端口80上侦听,但是仍然显示其中包含:8000的URL.
谢谢你的帮助!
问题的根源不在于您的设置,而在于第一个Web 转发- 它的工作原理是将请求的 URL ( http://www.yoursite.com ) 重定向到新 URL ( http://yoursite.com:8000)
因此,当请求到达您的设置时,这已经就位,并且您无法将其更改回端口 80,因为您的提供商阻止了它。
您可以使用框架集作为转发器(“Web 0.5”)或使用它。