我有一個nginx的設置是這樣的:不需要nginx的重定向到https
/etc/nginx/sites-available/default-ssl.conf:
server {
listen 443 ssl;
server_name my.server.name;
ssl_certificate /etc/letsencrypt/live/my.server.name/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/my.server.name/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
# root /usr/share/nginx/html;
root /var/www/html;
index index.html index.htm;
location/{
try_files $uri $uri/ =404;
}
location /proxiedhost/ {
rewrite ^/proxiedhost(/.*)$ $1 break;
proxy_pass http://127.0.0.1:6080/;
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;
proxy_redirect off;
}
<<<< A couple more of these blocks >>>>
}
server {
listen 80;
server_name origin.ticktockhouse.co.uk;
return 301 https://$host$request_uri;
}
的/ etc/nginx的/站點可用/aptrepo.conf:
server {
listen 80; ## listen for ipv4; this line is default and implied
root /home/aptrepo/;
index index.html index.htm;
server_name aptrepo.server.name;
}
我的問題是,當我瀏覽到http://aptrepo.server.name,它會自動重定向到https://aptrepo.server.name,我沒有一個letsencrypt證書。當然,我可以得到一個,但我並不特別需要它,並想深入瞭解爲什麼會發生這種情況。
我願意相信這是default-ssl.conf中的服務器塊,但我很困惑爲什麼其他服務器塊不是完全獨立的。我已經四處尋找解釋,但不幸的是大多數文章/問題都圍繞着如何讓https重定向到http--顯然是我已經解決的一個問題!
的問題,我沒有看到在你的配置爲aptrepo.server.name HTTPS服務器部分。這是否是所有服務器的完整配置?你使用HSTS嗎? – raciasolvo
我想aptrepo.server.name只能是HTTP,如果可能的話 – ticktockhouse
當然這是可能的。你使用HSTS嗎?顯示'curl -I http:// aptrepo.server.name'的結果。你在哪裏包含'/ etc/nginx/sites-available/aptrepo.conf'? – raciasolvo