对于 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 …