Tôi có Nginx đang chạy dưới dạng proxy ngược trước Apache Guacamole. Mọi thứ hoạt động tốt khi truy cập qua địa chỉ IP với XX.XX.XX.XX:8443. Tuy nhiên, tôi không thể truy cập qua server_name bằng "www.trainingserver1.com:8443". Đây là tệp mysite.template:
người phục vụ {
nghe 80 default_server;
tên máy chủ _;
return 444 "Không có máy chủ nào hiện được cấu hình cho máy chủ được yêu cầu." ;
}
người phục vụ {
nghe 443 ssl;
server_name *.trainingserver1.com;
ssl_certificate /etc/nginx/ssl/self.cert;
ssl_certificate_key /etc/nginx/ssl/self-ssl.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
bật ssl_prefer_server_ciphers;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
ssl_ecdh_curve secp384r1;
ssl_session_cache được chia sẻ:SSL:10m;
tắt ssl_session_tickets;
tắt ssl_dập ghim;
tắt ssl_stapling_verify;
# trình giải quyết 8.8.8.8 8.8.4.4 hợp lệ=300 giây;
# trình giải quyết_thời gian chờ 5s;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log chính;
địa điểm / {
proxy_pass http://guacamole:8080;
tắt proxy_buffering;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Nâng cấp $http_upgrade;
proxy_set_header Kết nối $http_connection;
proxy_cookie_path /guacamole/ /;
truy cập_đăng xuất;
# cho phép tải lên dung lượng lớn (mặc định=1m)
# 4096m = 4GByte
client_max_body_size 4096m;
}
#lỗi_trang 404 /404.html;
# chuyển hướng trang lỗi máy chủ sang trang tĩnh /50x.html
#
error_page 500 502 503 504 /50x.html;
vị trí = /50x.html {
gốc /usr/share/nginx/html;
}
}
Đây là tệp nginx.conf:
người dùng nginx;
worker_processes 1;
error_log /var/log/nginx/error.log cảnh báo;
pid /var/run/nginx.pid;
sự kiện {
công_nhân kết_nối 1024 ;
}
http {
bao gồm /etc/nginx/mime.types;
ứng dụng default_type/octet-stream;
log_format chính '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log chính;
gửi tệp trên;
#tcp_nopush bật;
keepalive_timeout 65;
#gzip trên;
bao gồm /etc/nginx/conf.d/*.conf;
}
Và cuối cùng đây là docker-compose.yml bắt đầu mọi thứ:
phiên bản: '3'
mạng:
mạng guac:
tài xế: cầu
dịch vụ:
nước sốt bơ:
hình ảnh: oznu/guacamole
container_name: guacamole
khối lượng:
- postgres:/config
khởi động lại: luôn luôn
mạng:
mạng guac:
lộ ra:
- 8080
khởi động lại: luôn luôn
nginx:
khởi động lại: luôn luôn
hình ảnh: nginx
khối lượng:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- ./nginx/mysite.template:/etc/nginx/conf.d/mysite.template
- ./nginx/ssl:/etc/nginx/ssl
cổng:
- 8443:443
## môi trường:
## - NGINX_HOST=nginx
## - NGINX_PORT=443
liên kết:
- nước sốt bơ
mạng:
mạng guac:
# cài đặt openssl, tạo chứng chỉ tự ký và chạy nginx
lệnh: /bin/bash -c "apt-get -y update && apt-get -y install openssl && openssl req -nodes -newkey rsa:2048 -new -x509 -keyout /etc/nginx/ssl/self-ssl. key -out /etc/nginx/ssl/self.cert -subj '/C=DE/ST=BY/L=Hintertupfing/O=Dorfwirt/OU=Theke/CN=www.createyourown.domain/emailAddress=docker@createyourown .domain' && cp -f -s /etc/nginx/conf.d/mysite.template /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
khối lượng:
postgres:
tài xế: địa phương
Chỉnh sửa:
Mọi thứ trong cấu hình Nginx hóa ra đều ổn. Đây là sự cố bản ghi DNS đơn giản. Khi bản ghi DNS đã được sửa thì máy chủ Nginx có thể truy cập được tại www.trainingserver1.com:8443.