我在正确配置 nginx 时遇到了很多问题,它作为反向代理工作。
服务器架构:
nginx 配置如下:
server {
listen 80;
listen 443;
server_name some-domain.com;
ssl_certificate /etc/letsencrypt/live/some-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/some-domain.com/privkey.pem;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host X.X.X.3;
proxy_pass http://X.X.X.3:8080;
proxy_redirect off;
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
}
}
server {
listen 8090;
server_name some-domain.com;
location /api {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host some-domain.com;
proxy_pass http://X.X.X.2:8090;
proxy_redirect off;
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
}
}
域:打开后看起来不错的“some-domain.com”,前面正在工作,但在我尝试登录并单击“登录”后,我进入了 web 控制台→网络,OPTIONS 请求而不是 POST。
如果您需要更多信息,请告诉我。
我尝试了关于 nginx 配置的不同解决方案,但现在我觉得我迷路了,所以这就是我写在这里的原因。