Proxy sunucum A ipinde çalışıyor ve insanlar web servisime bu şekilde erişiyor. Nginx yapılandırması ip B'deki bir sanal makineye yönlendirecektir.
IP A'daki proxy sunucusu için bunu sitelerimde var
server {
listen 443;
ssl on;
ssl_certificate nginx.pem;
ssl_certificate_key nginx.key;
client_max_body_size 200M;
server_name localhost 127.0.0.1;
server_name_in_redirect off;
location / {
proxy_pass http://10.10.0.59:80;
proxy_redirect http://10.10.0.59:80/ /;
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;
}
}
server {
listen 80;
rewrite ^(.*) https://$http_host$1 permanent;
server_name localhost 127.0.0.1;
server_name_in_redirect off;
location / {
proxy_pass http://10.10.0.59:80;
proxy_redirect http://10.10.0.59:80/ /;
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_redirect
Alındı ı yeniden yazma yoluyla HTTP POST isteklerini iletmek için nginx nasıl giriş yapabiliriz?
Genel IP'ye çarpan her şey, yeniden yazma nedeniyle 443'e çarpacak. Dahili olarak, sanal makinede 80'e yönlendiriyoruz.
Ancak yapılandırmamızı test etmek için aşağıdaki gibi bir python komut dosyası çalıştırdığımda
import requests
data = {'username': '....', 'password': '.....'}
url = 'http://IP_A/api/service/signup'
res = requests.post(url, data=data, verify=False)
print res
print res.json
print res.status_code
print res.headers
Ben alıyorum 405 Method Not Allowed
. Nginx'te, dahili sunucuya çarptığında, GET
orijinal başlıkta bir POST
(Python komut dosyasında gösterilmiştir) olsa bile , dahili nginx'in bir istek aldığını gördük .
Yani yeniden yazmada sorun var gibi görünüyor. Bunu nasıl düzeltebileceğine dair bir fikrin var mı? Yeniden yazmayı yorumladığımda, kesinlikle 80'e vurur ve geçti. Yeniden yazma dahili sunucumuzla konuşabildiğinden, yeniden yazma işleminin hiçbir sorunu yoktur. Bu sadece yeniden yazma, atılan POST
etmek GET
.
Teşekkür ederim!
(Bu aynı zamanda Nginx forumunda da sorulacaktır, çünkü bu kritik bir engelleyicidir ...)
PUT
,POST
,DELETE
,GET
. Önceki kurulumumda kalabalığa hizmet eden ön tarafta bu ekstra vekil yoktu. Aynı dahili sunucuda (test sunucumuz) aynı yapılandırmaya sahiptim. Güzel çalışıyor.