Я отказываюсь от Apache в качестве обратного прокси для экземпляра Tomcat, главным образом потому, что у него нет другой цели, кроме пересылки запросов к экземпляру Tomcat.
Я не специалист по развертыванию веб-приложений Java с помощью Tomcat, и мне интересно, не ожидает ли меня неприятный сюрприз, если я использую Nginx для пересылки запросов к соединителю HTTP?
Да, это отлично сработает.
Судя по тегу, я предполагаю, что вы прямо сейчас используете разъем AJP? Вам просто нужно убедиться, что ваш HTTP-прослушиватель работает правильно; в противном случае проблем быть не должно. Nginx отлично работает как обратный прокси.
Не должно возникнуть никаких проблем. У меня есть такая установка прямо сейчас. Вот модифицированная версия nginx conf, которая показывает, что это довольно просто.
server {
listen 80;
server_name server.example.com;
rewrite ^(.*) https://$server_name$1 permanent;
}
server {
listen 443;
server_name server.example.com server;
ssl on;
ssl_certificate /certs/ssl.crt;
ssl_certificate_key /certs/ssl.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
location / {
proxy_pass http://127.0.0.1:8080/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}