產生認證檔案
產生自我簽署憑證,並放在指定位置
$ openssl req -x509 -days 3650 -subj '/CN=odoo.youyun.com/' -nodes -newkey rsa:2048 -keyout server.key -out server.crt$ sudo mkdir /etc/ssl/nginx$ sudo mv server.key server.crt /etc/ssl/nginx
配置nginx
$ sudo rm /etc/nginx/sites-avaliable/default$ sudo vim /etc/nginx/sites-avalibale/odoo.conf
刪除預設的nginx default檔案,並建立odoo.conf檔案,內容如下
server { listen443 default; server_name _; access_log /var/log/nginx/odoo.access.log; error_log /var/log/nginx/odoo.error.log; sslon; ssl_certificate /etc/ssl/nginx/server.crt; # 之前產生的認證和keyssl_certificate_key /etc/ssl/nginx/server.key; ssl_ciphers HIGH:!ADH:!MD5; ssl_protocols SSLv3 TLSv1; ssl_prefer_server_cipherson; location / { proxy_passhttp://127.0.0.1:8069; proxy_next_upstreamerror timeout invalid_header http_500 http_502 http_503 http_504; proxy_buffer_size128k; proxy_buffers1664k; proxy_redirectoff; 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-Forwarded-Proto https; } location~* /web/static/ { proxy_cache_valid20060m; proxy_bufferingon; expires864000; proxy_passhttp://127.0.0.1:8069; }}server { # 將80連接埠轉到443的https中listen80; server_name __; add_header Strict-Transport-Security max-age=2592000; rewrite ^/.*$https://$host$request_uri?permanent;}server { # 將特定ip的8069連接埠轉到443的https中listen192.168.1.102:8069; # 這是虛機的ipserver_name __; add_header Strict-Transport-Security max-age=2592000; rewrite ^/.*$https://$host$request_uri?permanent;}
配置訪問源主機
- 安裝之前產生的server.crt認證
- 修改hosts檔案添加, 由於之前的認證使用的是該網域名稱
192.168.1.102 odoo.youyun.com
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
').text(i)); }; $numbering.fadeIn(1700); }); });
以上就介紹了 Nginx反向 ProxyOdoo並轉為https,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。