Files
openapi/nginx/openapi.rrrosmontis.icu.conf
T

120 lines
4.6 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# openapi.rrrosmontis.icu 统一入口(原 api/pixiv/apixiv.bu4.ren 合并)
# /pixiv/ /bilibili/ -> openapi 聚合层 127.0.0.1:9888 (main.py)
# /img-master/ -> i.pximg.net 图片反代(原 apixiv.bu4.ren 逻辑,方案二)
proxy_cache_path /var/cache/nginx/openapi_img_cache levels=1:2 keys_zone=openapi_img_cache:20m inactive=1d max_size=5g;
server {
listen 80;
listen [::]:80;
server_name openapi.rrrosmontis.icu;
location /.well-known/acme-challenge/ {
root /var/www/acme;
}
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl http2;
server_name openapi.rrrosmontis.icu;
ssl_certificate /home/openapi/cert/openapi.rrrosmontis.icu/fullchain.pem;
ssl_certificate_key /home/openapi/cert/openapi.rrrosmontis.icu/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000";
error_page 497 https://$host$request_uri;
resolver 8.8.8.8 1.1.1.1 ipv6=off valid=300s;
# ---- 图片反代 i.pximg.net(原 apixiv.bu4.ren 逻辑,路径前缀 /img-master/)----
location ^~ /img-master/ {
set $backend i.pximg.net;
proxy_pass https://$backend$request_uri;
proxy_set_header Host i.pximg.net;
proxy_set_header User-Agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36";
proxy_set_header Referer "https://www.pixiv.net/";
proxy_ssl_server_name on;
proxy_ssl_name i.pximg.net;
proxy_connect_timeout 10s;
proxy_read_timeout 300s;
proxy_cache openapi_img_cache;
proxy_cache_valid 200 7d;
proxy_cache_valid 404 5m;
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
proxy_cache_lock on;
proxy_cache_key "$scheme$proxy_host$request_uri";
add_header X-Cache-Status $upstream_cache_status;
}
# ---- pixiv(openapi 聚合层 /pixiv/get_image)----
location ^~ /pixiv/ {
proxy_pass http://127.0.0.1:9888;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-Port $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_connect_timeout 60s;
proxy_send_timeout 600s;
proxy_read_timeout 600s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
# ---- bilibili(openapi 聚合层 /bilibili/get_video)----
location ^~ /bilibili/ {
proxy_pass http://127.0.0.1:9888;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-Port $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_connect_timeout 60s;
proxy_send_timeout 600s;
proxy_read_timeout 600s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
# ---- 其余(根路径 / )→ 9888(main.py:跳转文章页)----
location / {
proxy_pass http://127.0.0.1:9888;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-Port $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_connect_timeout 60s;
proxy_send_timeout 600s;
proxy_read_timeout 600s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
access_log /var/log/nginx/openapi.rrrosmontis.icu.log;
error_log /var/log/nginx/openapi.rrrosmontis.icu.error.log;
}