Tôi đang sử dụng ruby trên đường ray trong vùng chứa docker chạy trang web của mình https://redrebelgames.com trên cổng 3000. Tôi đang cố thiết lập NGINX để chuyển hướng lưu lượng truy cập http:// sang https:// và chuyển hướng cổng 80 sang cổng 3000. Nó hoạt động nếu bạn truy cập trực tiếp vào địa chỉ IP: 143.244.156.208. Nó thậm chí còn chuyển hướng lưu lượng truy cập đến cổng 80. Tuy nhiên, một số ảnh không tải như bên dưới:
Và bản thân tên miền không hoạt động. Có gì sai với cấu hình của tôi trong /etc/nginx/sites-available/default? Bạn có thể xem phần bên trong của tệp bên dưới:
##
# Bạn nên xem URL sau để hiểu rõ
# tệp cấu hình Nginx để giải phóng hoàn toàn sức mạnh của Nginx.
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# Trong hầu hết các trường hợp, quản trị viên sẽ xóa tệp này khỏi các trang web đã bật/ và
# để nó làm tài liệu tham khảo bên trong các trang web có sẵn, nơi nó sẽ tiếp tục tồn tại
# được cập nhật bởi nhóm đóng gói nginx.
#
# Tệp này sẽ tự động tải các tệp cấu hình do người khác cung cấp
# ứng dụng, chẳng hạn như Drupal hoặc Wordpress. Các ứng dụng này sẽ được thực hiện
# có sẵn bên dưới đường dẫn có tên gói đó, chẳng hạn như /drupal8.
#
# Vui lòng xem /usr/share/doc/nginx-doc/examples/ để biết thêm các ví dụ chi tiết.
##
# Cấu hình máy chủ mặc định
#
người phục vụ {
nghe 80 default_server;
lắng nghe [::]:80 default_server;
# Cấu hình SSL
#
# nghe 443 ssl default_server;
# lắng nghe [::]:443 ssl default_server;
#
# Lưu ý: Bạn nên tắt gzip cho lưu lượng SSL.
# Xem: https://bugs.debian.org/773332
#
# Đọc ssl_ciphers để đảm bảo cấu hình an toàn.
# Xem: https://bugs.debian.org/765782
#
# Chứng chỉ tự ký được tạo bởi gói ssl-cert
# Đừng sử dụng chúng trong máy chủ sản xuất!
#
# bao gồm đoạn trích/snakeoil.conf;
# gốc /var/www/html;
# Thêm index.php vào danh sách nếu bạn đang sử dụng PHP
# chỉ mục index.html index.htm index.nginx-debian.html;
tên máy chủ _;
địa điểm / {
proxy_pass http://localhost:3000;
# proxy_http_phiên bản 1.1;
# proxy_set_header Nâng cấp $http_upgrade;
# proxy_set_header Kết nối 'nâng cấp';
# proxy_set_header Máy chủ lưu trữ $host;
# proxy_cache_bypass $http_upgrade;
# Lần đầu tiên cố gắng phục vụ yêu cầu dưới dạng tệp, sau đó
# làm thư mục, sau đó quay lại hiển thị lỗi 404.
#try_files $uri $uri/ =403;
}
# truyền tập lệnh PHP tới máy chủ FastCGI
#
#vị trí ~ \.php$ {
# bao gồm đoạn trích/fastcgi-php.conf;
#
# # Với php-fpm (hoặc các ổ cắm unix khác):
# fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# # Với php-cgi (hoặc các ổ cắm tcp khác):
# fastcgi_pass 127.0.0.1:9000;
#}
# từ chối quyền truy cập vào tệp .htaccess, nếu tài liệu gốc của Apache
# đồng tình với nginx
#
#vị trí ~ /\.ht {
# Phủ nhận tất cả;
#}
}
# Cấu hình máy chủ ảo ví dụ.com
#
# Bạn có thể di chuyển tệp đó sang một tệp khác trong các trang web có sẵn/ và liên kết tượng trưng đó
# đến các trang web đã bật/ để kích hoạt nó.
#
#người phục vụ {
#nghe80;
# nghe [::]:80;
#
# tên_máy chủ ví dụ.com;
#
# gốc /var/www/example.com;
# chỉ số index.html;
#
# địa điểm / {
# try_files $uri $uri/ =404;
# }
#}
người phục vụ {
# Cấu hình SSL
#
# nghe 443 ssl default_server;
# lắng nghe [::]:443 ssl default_server;
#
# Lưu ý: Bạn nên tắt gzip cho lưu lượng SSL.
# Xem: https://bugs.debian.org/773332
#
# Đọc ssl_ciphers để đảm bảo cấu hình an toàn.
# Xem: https://bugs.debian.org/765782
#
# Chứng chỉ tự ký được tạo bởi gói ssl-cert
# Đừng sử dụng chúng trong máy chủ sản xuất!
#
# bao gồm đoạn trích/snakeoil.conf;
# gốc /var/www/html;
# Thêm index.php vào danh sách nếu bạn đang sử dụng PHP
# chỉ mục index.html index.htm index.nginx-debian.html;
server_name redrebelgames.com; # được quản lý bởi Certbot
địa điểm / {
proxy_pass http://localhost:3000;
# proxy_http_phiên bản 1.1;
# proxy_set_header Nâng cấp $http_upgrade;
# proxy_set_header Kết nối 'nâng cấp';
# proxy_set_header Máy chủ lưu trữ $host;
# proxy_cache_bypass $http_upgrade;
# Lần đầu tiên cố gắng phục vụ yêu cầu dưới dạng tệp, sau đó
# làm thư mục, sau đó quay lại hiển thị lỗi 404.
#try_files $uri $uri/ =404;
}
# truyền tập lệnh PHP tới máy chủ FastCGI
#
#vị trí ~ \.php$ {
# bao gồm đoạn trích/fastcgi-php.conf;
#
# # Với php-fpm (hoặc các ổ cắm unix khác):
# fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# # Với php-cgi (hoặc các ổ cắm tcp khác):
# fastcgi_pass 127.0.0.1:9000;
#}
# từ chối quyền truy cập vào tệp .htaccess, nếu tài liệu gốc của Apache
# đồng tình với nginx
#
#vị trí ~ /\.ht {
# Phủ nhận tất cả;
#}
lắng nghe [::]:443 ssl ipv6only=on; # được quản lý bởi Certbot
nghe 443 ssl; # được quản lý bởi Certbot
ssl_certificate /etc/letsencrypt/live/redrebelgames.com/fullchain.pem; # được quản lý bởi Certbot
ssl_certificate_key /etc/letsencrypt/live/redrebelgames.com/privkey.pem; # được quản lý bởi Certbot
bao gồm /etc/letsencrypt/options-ssl-nginx.conf; # được quản lý bởi Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # được quản lý bởi Certbot
}
người phục vụ {
nếu ($host = redrebelgames.com) {
trả lại 301 https://$host$request_uri;
} # được quản lý bởi Certbot
nghe 80 ;
nghe [::]:80 ;
server_name redrebelgames.com;
trả lại 404; # được quản lý bởi Certbot
}