G C*_*huk 6 ssl nginx squid reverse-proxy
对于 PCI 合规性,我的应用程序被迫在反向代理服务器和后端应用程序服务器之间使用安全/加密连接,而进入反向代理的连接是在端口 80 上,即反向代理需要充当 http-to -https 转换器。
一个简单的图:
IIS7<---端口443---nginx<----端口80----Internet
我正在为此评估使用 nginx 而不是鱿鱼,这是我目前在 nginx.conf 中的内容:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream backend {
server mybackendserver:443;
}
server {
server_name www.mysite.com
listen 80;
ssl on;
ssl_certificate /etc/nginx/server.crt;
ssl_certificate_key /etc/nginx/server.key;
ssl_verify_client off;
location = / {
proxy_pass https://backend;
proxy_set_header Host $http_host;
proxy_set_header X_FORWARDED_PROTO https;
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我浏览到 www.mysite.com 时,上面给出:“400 Bad Request The plain HTTP request was sent to HTTPS port”。
我哪里错了?这甚至可行吗?为此,nginx 比鱿鱼好吗?
提前致谢,G
Ale*_*rov 13
proxy_pass 能够代理到HTTPS,这不是问题。
您的配置有错误。删除行
ssl on;
ssl_certificate /etc/nginx/server.crt;
ssl_certificate_key /etc/nginx/server.key;
ssl_verify_client off;
Run Code Online (Sandbox Code Playgroud)
这些是在 Nginx 端打开 SSL 服务器,这意味着您的 Nginx 期望在端口 80 进行 SSL 连接。由于浏览器将普通 HTTP 发送到端口 80,Nginx 抱怨“400 Bad Request The plain HTTP request was sent to HTTPS port”
| 归档时间: |
|
| 查看次数: |
10122 次 |
| 最近记录: |