Как использовать HTTPS на слушателе Java webhook (Spark) - PullRequest
0 голосов
/ 29 марта 2019

У меня уже некоторое время есть слушатель webhook в моей Java-программе, и он работает так, как должен, когда вы отправляете webhook на URL слушателя.Теперь мне нужно сделать URL HTTPS, но я не знаю, если это проблема, которую мне нужно исправить в моем коде Java или веб-сервере Apache.У меня есть действительный доверенный сертификат, но всякий раз, когда я пытаюсь отправить webhook через Stripe, он только говорит об ошибке TLS и ничего не возвращает.Я думаю, это потому, что порты слушателей не используют SSL, но я не знаю, как это исправить.Если я добавлю порт к виртуальным хостам в Apache, чтобы использовать HTTPS для порта, то Java не сможет прослушивать его, потому что он уже будет использоваться.Это мой класс для слушателя.Нужно ли добавить код для прослушивания через HTTPS?
Пример URL-адреса для слушателя (который работает) будет http://verifus.ddns.net:4568/webhook. Когда HTTPS есть, он вообще не работает.


import com.stripe.Stripe;
import com.stripe.model.*;
import com.stripe.net.ApiResource;
import net.dv8tion.jda.core.JDA;
import net.dv8tion.jda.core.entities.Role;
import org.apache.commons.httpclient.HttpStatus;
import org.simplejavamail.email.Email;
import org.simplejavamail.email.EmailBuilder;
import org.simplejavamail.mailer.MailerBuilder;
import us.verif.bot.Config;
import us.verif.bot.sql.StripeSql;

import java.security.SecureRandom;
import java.util.EventListener;
import java.util.Random;

import static spark.Spark.port;
import static spark.Spark.post;

public class StripeWebhook implements EventListener {

    static final private String ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    final private Random rng = new SecureRandom();
    private JDA jda;


    public StripeWebhook(JDA jda) {
        this.jda = jda;
    }

    public void startListener() {

        port(Integer.parseInt(Config.getStripeWebhookPort()));


        post("/webhook", (request, response) -> {
            Event event = ApiResource.GSON.fromJson(request.body(), Event.class);
//Just some event checkers onwards

1 Ответ

0 голосов
/ 29 марта 2019

Вам необходимо настроить сервер Apache с использованием сертификатов SSL. Вы можете прочитать документы или выполнить некоторые инструкции и инструкции по точным шагам.

...