Redirect Nginx配置到代理传递到外部ip和端口(https->;http)
我的服务配置有点复杂 我的域(现在称之为“a.team”)指向我的1&1云服务器,该服务器具有不同的服务,通过一个停靠的nginx运行停靠的全功能。许多子域指向docker容器,一切正常 现在我在办公室有一台服务器,端口8080、8090和7990(Atlassian产品),通过路由器fw和静态ip(工作正常)进行访问 我希望云服务器像这样管理域和代理: SSL到非SSL(虚拟)作为代理(对于其他产品也是如此) Nginx配置为将所有http重定向到https:Redirect Nginx配置到代理传递到外部ip和端口(https->;http),redirect,ssl,nginx,https,proxy,Redirect,Ssl,Nginx,Https,Proxy,我的服务配置有点复杂 我的域(现在称之为“a.team”)指向我的1&1云服务器,该服务器具有不同的服务,通过一个停靠的nginx运行停靠的全功能。许多子域指向docker容器,一切正常 现在我在办公室有一台服务器,端口8080、8090和7990(Atlassian产品),通过路由器fw和静态ip(工作正常)进行访问 我希望云服务器像这样管理域和代理: SSL到非SSL(虚拟)作为代理(对于其他产品也是如此) Nginx配置为将所有http重定向到https: server { lis
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
return 301 https://$host$request_uri;
}
server {
listen 443 default_server ssl;
server_name _;
ssl_certificate /path/bundle.cer;
ssl_certificate_key /path/-.a.team_private_key.key;
}
我想将新配置添加到现有配置中
server {
listen 443 ssl;
server_name jira.a.team;
location / {
proxy_pass http://---.---.---.133:8080;
proxy_redirect off;
}
}
我尝试了主机、x-real-ip和x-forwarded-for的代理集头的多种组合,但我得到的只是504网关超时
谢谢你的帮助
请尝试在Nginx中使用上游功能 不过,您应该知道,在执行到外部地址的代理传递时,您需要允许到office FWs中这些端口的传出流量,因为流量将通过Nginx服务器 配置服务器(vhost jira.a.team),注意上游参考
jira\u应用程序
server {
listen *:443 ssl;
server_name jira.a.team;
ssl on;
ssl_certificate ....
ssl_certificate_key ....
ssl_session_cache ....
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ....
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/....access.log combined;
error_log /var/log/nginx/....error.log;
location / {
proxy_pass http://jira_app;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
}
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
}
配置上游
upstream jira_app {
server ---.---.---.133:8080 fail_timeout=10s;
}
如果仍要使用从HTTP重定向到HTTPs,可以作为单独的服务器对象执行以下操作:
server {
listen *:80;
server_name jira.a.team;
location / {
rewrite ^ https://jira.a.team$request_uri? permanent;
}
}