在/ etc / Nginx的/网站可用/默认
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/Nginx/html;
index index.html index.htm;
# Make site accessible from http://localhost/
server_name mywebsite.net;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name localhost mywebsite.net;
ssl on;
ssl_certificate /etc/ssl/certs/odoo.crt;
ssl_certificate_key /etc/ssl/private/odoo.key;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
ssl_prefer_server_ciphers on;
location / {
# try_files $uri $uri/ =404;
proxy_pass http://127.0.0.1:8069;
include proxy_params;
}
location ~ \.(css|js|png|gif|jpeg|jpg|swf|ico|woff){
root /usr/lib/python2.7/dist-packages/openerp/addons;
expires 360d;
}
}
的/ etc / Nginx的/ proxy_params
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 $scheme;
proxy_set_header X-Frame-Options "deny";
当我运行“curl -I -k https://mywebsite.net”时,我得到以下标题,
HTTP/1.1 200 OK
Date: Fri,14 Oct 2016 06:43:46 GMT
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Set-Cookie: __cfduid=ddf89f52ff3c396f0a6c10af34a65d4281476427426; expires=Sat,14-Oct-17 06:43:46 GMT; path=/; domain=mywebsite.net; HttpOnly
Set-Cookie: session_id=b9bf4dc131a232eb2417eaa4a9fbe0e7f51a96f0; Expires=Thu,12-Jan-2017 06:43:45 GMT; Max-Age=7776000; Path=/
Server: cloudflare-Nginx
CF-RAY: 2f190f162b2a2dc7-BOM
我没有得到proxy_params中包含的标头.我认为proxy_set_header无法正常工作.有什么问题?
谢谢
最佳答案
你弄错了.
proxy_set_header指令设置Nginx发送到后端的标头(在您的情况下为127.0.0.1:8069).
你需要的是add_header
指令.