gan*_*ila 2 https proxy reverse-proxy nginx docker
我想https在ubuntu / centos的Docker容器上使用Nginx 设置反向代理。在浏览器方面,我遇到了connection refused错误。而且,我在/var/log/nginx/access.log或下看不到任何东西/var/log/nginx/error.log。
我能够http再次在Docker容器上使用Nginx 设置反向代理。并且,还可以https在普通的ubuntu和centos虚拟机上使用Nginx进行反向代理。
能理解为什么httpsdocker容器上的nginx反向代理无法从浏览器连接的原因吗?
如果需要任何其他信息,我可以为您提供。提前致谢。
作为参考,请检查此sites-available/default文件。
server {
listen 80;
server_name localhost;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /etc/nginx/ssl/cert.pem;
ssl_certificate_key /etc/nginx/ssl/cert.key;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
location ~* /rabbitmq/(.*) {
rewrite ^\/rabbitmq\/(.*)$ /$1 break;
proxy_pass http://127.0.0.1:15672;
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 X-NginX-Proxy true;
proxy_redirect http:// https://;
}
location ~* /api/(.*) {
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://127.0.0.1:3000;
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 X-NginX-Proxy true;
proxy_redirect http:// https://;
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢,Ganesh
看起来,我需要公开HTTP和HTTPS端口,因为nginx反向代理配置为仅服务器HTTPS流量。
docker run -d -p 80:80 -p 443:443 nginx-container
Run Code Online (Sandbox Code Playgroud)
当我开始公开HTTPS端口时,它就起作用了。
| 归档时间: |
|
| 查看次数: |
3109 次 |
| 最近记录: |